├── .gitignore
├── .gitmodules
├── README.org
├── dotfiles
├── Xresources
├── boot
│ ├── boot.properties
│ └── profile.boot
├── cabal
│ ├── .gitignore
│ └── config
├── cider
│ └── bootstrap.json
├── config
│ ├── .gitignore
│ ├── alacritty
│ │ └── alacritty.toml
│ ├── asciinema
│ │ └── config
│ ├── autorandr
│ │ ├── AW3423DW_alone
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── AW3423DW_with_DELL_on_the_right
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── alienware_kats_office_alone
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── blade
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── default
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── family_room_above_stevie-nixos
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── home_tv
│ │ │ ├── config
│ │ │ ├── postswitch
│ │ │ └── setup
│ │ ├── kats_monitor
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── kats_room
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── kats_tv
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── kats_tv_1080
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── kats_tv_right
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── loaner
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── loaner_with_monitor
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── loaner_with_tv
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── postswitch
│ │ ├── sf_office_1
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── sf_office_2
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── sf_office_3
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── sf_office_4
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── sf_office_5
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── sf_office_6
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── sf_office_7
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── stevie-nixos
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── strixy-minaj-240hz-solo
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── tv
│ │ │ ├── config
│ │ │ └── setup
│ │ ├── tv_1080
│ │ │ ├── config
│ │ │ └── setup
│ │ └── work
│ │ │ ├── config
│ │ │ └── setup
│ ├── clipit
│ │ └── clipitrc
│ ├── copyq
│ │ ├── .gitignore
│ │ └── copyq.conf
│ ├── dolphin-emu
│ │ ├── Dolphin.ini
│ │ ├── GCPadNew.ini
│ │ ├── Galaxy 2.ini
│ │ ├── Logger.ini
│ │ ├── Profiles
│ │ │ └── Wiimote
│ │ │ │ ├── Galaxy 2.ini
│ │ │ │ └── qweruiop.ini
│ │ └── WiimoteNew.ini
│ ├── flake8
│ ├── fontconfig
│ │ ├── conf.d
│ │ │ └── 01-emoji.conf
│ │ └── fonts.conf
│ ├── gocode
│ │ └── config.json
│ ├── gtk-3.0
│ │ └── gtk.css
│ ├── karabiner
│ │ └── karabiner.json
│ ├── keepassx
│ │ └── keepassx2.ini
│ ├── keepassxc
│ │ └── keepassxc.ini
│ ├── latexmk
│ │ └── latexmkrc
│ ├── lxqt
│ │ ├── .gitignore
│ │ ├── lxqt-powermanagement.conf
│ │ ├── lxqt.conf
│ │ └── power.conf
│ ├── mimeapps.list
│ ├── org.sparkleshare.SparkleShare
│ │ ├── .gitignore
│ │ ├── projects.xml
│ │ └── ssh
│ │ │ ├── 2017-02-21_23h31.key.pub
│ │ │ └── known_hosts
│ ├── parcellite
│ │ └── parcelliterc
│ ├── powerline
│ │ ├── colors.json
│ │ ├── colorschemes
│ │ │ ├── shell
│ │ │ │ └── default.json
│ │ │ └── tmux
│ │ │ │ └── default.json
│ │ └── themes
│ │ │ ├── shell
│ │ │ └── default.json
│ │ │ └── tmux
│ │ │ └── default.json
│ ├── pulseaudio-ctl
│ │ └── config
│ ├── remmina
│ │ └── remmina.pref
│ ├── rofi-pass
│ │ └── config
│ ├── rofi
│ │ ├── colorful
│ │ │ ├── colors.rasi
│ │ │ ├── launcher.sh
│ │ │ ├── style_1.rasi
│ │ │ ├── style_10.rasi
│ │ │ ├── style_11.rasi
│ │ │ ├── style_12.rasi
│ │ │ ├── style_2.rasi
│ │ │ ├── style_3.rasi
│ │ │ ├── style_4.rasi
│ │ │ ├── style_5.rasi
│ │ │ ├── style_6.rasi
│ │ │ ├── style_7.rasi
│ │ │ ├── style_8.rasi
│ │ │ └── style_9.rasi
│ │ ├── config.rasi
│ │ └── white.rasi
│ ├── screencloud
│ │ └── ScreenCloud.conf
│ ├── skippy-xd
│ │ └── skippy-xd.rc
│ ├── sparkleshare
│ │ ├── 2015-11-20_19h52.key.pub
│ │ └── config.xml
│ ├── starship.toml
│ ├── taffybar
│ │ ├── .envrc
│ │ ├── README.org
│ │ ├── cabal.project
│ │ ├── flake.lock
│ │ ├── flake.nix
│ │ ├── gotham.css
│ │ ├── imalison-taffybar.cabal
│ │ ├── ivanm-dfinity-razer.css
│ │ ├── material.css
│ │ ├── profile.nix
│ │ ├── stack.yaml
│ │ ├── taffybar.css
│ │ ├── taffybar.hs
│ │ └── uber-loaner.css
│ ├── terminator
│ │ └── config
│ ├── termite
│ │ └── config
│ └── xmonad
│ │ ├── .gitignore
│ │ ├── LICENSE
│ │ ├── base.nix
│ │ ├── build
│ │ ├── cabal.project
│ │ ├── flake.lock
│ │ ├── flake.nix
│ │ ├── imalison-xmonad.cabal
│ │ ├── overlay.nix
│ │ └── xmonad.hs
├── dircolors
├── emacs.d
│ ├── .gitignore
│ ├── .mc-lists.el
│ ├── README.org
│ ├── init.el
│ ├── kat-mode.org
│ ├── org-api.el
│ ├── org-config.org
│ └── snippets
│ │ ├── python-mode
│ │ ├── ign
│ │ ├── inp
│ │ ├── ipdb
│ │ ├── isa
│ │ ├── logg
│ │ └── noqa
│ │ └── sh-mode
│ │ └── env_bang
├── gdbinit
├── ghci
├── gitconfig
├── gitignore
├── hgignore
├── hindent.yaml
├── hushlogin
├── icons
│ └── default
│ │ └── index.theme
├── imwheelrc
├── inputrc
├── lein
│ └── profile.clj
├── lib
│ ├── bin
│ │ ├── brightness.sh
│ │ ├── brightness_manager.py
│ │ ├── clipit_history.py
│ │ ├── get_sink_input_info.hs
│ │ ├── imalison-global.cabal
│ │ ├── pager.sh
│ │ ├── quill_from_seed.sh
│ │ ├── random_choice.py
│ │ ├── rofi_autorandr.sh
│ │ ├── rofi_clipit.sh
│ │ ├── rofi_command.sh
│ │ ├── rofi_kill_all.sh
│ │ ├── rofi_kill_process.sh
│ │ ├── rofi_select_input.hs
│ │ ├── stack.yaml
│ │ ├── toggle_mute_current_window.sh
│ │ └── windows-toast.ps1
│ ├── functions
│ │ ├── add_to_path
│ │ ├── all_after_char
│ │ ├── ballchasing_lookup
│ │ ├── command_exists
│ │ ├── dbus_introspect
│ │ ├── environment_variable_exists
│ │ ├── externalip
│ │ ├── find_store_path_gc_roots
│ │ ├── get_chrome_folder_from_address
│ │ ├── get_cols
│ │ ├── get_sink_input_by_pid
│ │ ├── join_by_char
│ │ ├── list_interfaces
│ │ ├── load_default_map
│ │ ├── load_xkb_map
│ │ ├── localip
│ │ ├── nixpkgs_source
│ │ ├── nr
│ │ ├── ns
│ │ ├── pahelper
│ │ ├── paismuted
│ │ ├── parse_timestamp
│ │ ├── pashowvolume
│ │ ├── pasink
│ │ ├── path_from_lines
│ │ ├── path_lines
│ │ ├── pavolume
│ │ ├── rlwhich
│ │ ├── rofi_paswitch
│ │ ├── rofi_shutter
│ │ ├── run_if_exists
│ │ ├── run_unity
│ │ ├── set_volume
│ │ ├── shell_contains
│ │ ├── source_if_exists
│ │ ├── split_by_char
│ │ ├── start_chrome_for
│ │ ├── timestamp
│ │ ├── toggle_taffybar
│ │ └── windows_toast
│ ├── get_cols.awk
│ ├── shellenv
│ │ └── synergy.sh
│ └── zsh
│ │ ├── completion.sh
│ │ ├── history.sh
│ │ └── term_support.sh
├── notify-osd
├── pylintrc
├── sbt
│ ├── .gitignore
│ ├── 0.13
│ │ └── plugins
│ │ │ └── plugins.sbt
│ └── 1.0
│ │ └── plugins.sbt
├── slate.js
├── stalonetrayrc
├── synergy.conf
├── tmux.conf
├── tmux.powerline
├── wgetrc
├── xinitrc
├── xkb
│ ├── keymap
│ │ ├── adell
│ │ ├── default
│ │ ├── ivanm-dfinity-razer
│ │ ├── jay-lenovo
│ │ ├── katboon
│ │ ├── stevie-nixos
│ │ └── strixi-minaj
│ └── symbols
│ │ ├── hyper
│ │ └── imalison
├── xsessionrc
├── xsettingsd
├── zprofile
├── zshenv
└── zshrc
├── gen-gh-pages
├── .gitignore
├── Cask
├── compile.sh
├── deploy.sh
├── deploy_key.enc
├── faces.css
└── generate-html.el
├── nix-darwin
├── flake.lock
├── flake.nix
├── gitea-actions-runner.nix
└── justfile
├── nixos
├── android.nix
├── base.nix
├── ben.nix
├── bootstrap.nix
├── bootstrap
│ ├── flake.lock
│ └── flake.nix
├── cache-server.nix
├── cache.nix
├── code.nix
├── configuration.nix
├── desktop.nix
├── dunst.nix
├── electron.nix
├── emacs.nix
├── environment.nix
├── essential.nix
├── extra.nix
├── flake.lock
├── flake.nix
├── fonts.nix
├── games.nix
├── git-sync.nix
├── gitea-runner.nix
├── gitea.nix
├── gnome.nix
├── home-assistant.nix
├── home-manager.nix
├── imalison.nix
├── internet-computer.nix
├── justfile
├── k3s.nix
├── kat.nix
├── keybase.nix
├── keys.nix
├── kubelet-client.crt
├── kubelet.nix
├── laptop.nix
├── machines
│ ├── adell.nix
│ ├── bencbox.nix
│ ├── biskcomp.nix
│ ├── david-blade.nix
│ ├── dean-zephyrus.nix
│ ├── jay-lenovo-wsl.nix
│ ├── jay-lenovo.nix
│ ├── jimi-hendnix.nix
│ ├── justin-bieber-creek.nix
│ ├── nixquick.nix
│ ├── railbird-sf.nix
│ ├── ryzen-shine-original.nix
│ ├── ryzen-shine.nix
│ ├── strixi-minaj-wsl.nix
│ └── strixi-minaj.nix
├── make-enable.nix
├── nix.nix
├── nixified.ai.nix
├── notification-sound.wav
├── nvidia-container-toolkit-overlay.nix
├── nvidia.nix
├── options.nix
├── overlay.nix
├── plasma.nix
├── postgres.nix
├── rabbitmq.nix
├── railbird-kubernetes.crt
├── raspberry-pi.nix
├── runc-overlay.nix
├── secrets.nix
├── secrets
│ ├── 1896Folsom-k3s-token.age
│ ├── api_service_account_key.json.age
│ ├── cache-priv-key.pem.age
│ ├── cache-pub-key.pem
│ ├── discourse-admin-password.age
│ ├── discourse-secret-key-base.age
│ ├── gitea-runner-token.adele.age
│ ├── gitea-runner-token.age
│ ├── gitea-runner-token.biskcomp.age
│ ├── gitea-runner-token.jimi-hendnix.age
│ ├── gitea-runner-token.mac-demarco-mini.age
│ ├── gitea-runner-token.nixquick.age
│ ├── gitea-runner-token.railbird-sf.age
│ ├── gitea-runner-token.ryzen-shine.age
│ ├── google-assistant-integration-service-key.age
│ ├── gpg-keys.age
│ ├── gpg-passphrase.age
│ ├── k3s-registry.yaml.age
│ ├── nextcloud-admin.age
│ ├── org-api-passwords.age
│ ├── ryzen-shine-kubernetes-token.age
│ ├── secrets.nix
│ ├── vaultwarden-environment-file.age
│ └── zwave-js.json.age
├── ssh.nix
├── syncthing.nix
├── tts.nix
├── user-specific.nix
├── users.nix
├── vscode.nix
├── wsl.nix
├── wyoming.nix
└── xmonad.nix
└── rcm-link.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | .ropeproject
2 | /.mail-sync
3 | /config/google-chrome
4 | /dotfiles/.pip/download_cache
5 | /dotfiles/.pip/pip.log
6 | /dotfiles/.tern-port
7 | /dotfiles/boot/cache
8 | /dotfiles/chrome-remote-desktop-session
9 | /dotfiles/cider/.cache/
10 | /dotfiles/config/gtk-2.0/gtkfilechooser.ini
11 | /dotfiles/pip/cache/
12 | /dotfiles/pip/download_cache/
13 | /dotfiles/pip/pip.conf
14 | /dotfiles/pip/pip.log
15 | /dotfiles/sbt/0.13/plugins/project/
16 | /dotfiles/sbt/0.13/plugins/target/
17 | /dotfiles/sbt/boot/
18 | /dotfiles/vim/.netrwhist
19 | /dotfiles/vim/bundle/*
20 | /dotfiles/wemo/cache
21 | gotools
22 | /dotfiles/config/xmonad/result
23 | /dotfiles/config/taffybar/result
24 | /dotfiles/emacs.d/*.sqlite
25 | /dotfiles/config/gtk-3.0/colors.css
26 | /dotfiles/emacs.d/.cache/
27 | /dotfiles/config/fontconfig/conf.d/10-hm-fonts.conf
28 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "dotfiles/config/taffybar/taffybar"]
2 | path = dotfiles/config/taffybar/taffybar
3 | url = git@github.com:taffybar/taffybar.git
4 | [submodule "dotfiles/xmonad/xmonad"]
5 | path = dotfiles/config/xmonad/xmonad
6 | url = git@github.com:xmonad/xmonad.git
7 | [submodule "dotfiles/xmonad/xmonad-contrib"]
8 | path = dotfiles/config/xmonad/xmonad-contrib
9 | url = git@github.com:xmonad/xmonad-contrib.git
10 | [submodule "dotfiles/config/alacritty/themes"]
11 | path = dotfiles/config/alacritty/themes
12 | url = https://github.com/alacritty/alacritty-theme
13 | [submodule "nixos/railbird.ai"]
14 | path = nixos/railbird.ai
15 | url = git@github.com:billnerds/railbird.ai.git
16 |
--------------------------------------------------------------------------------
/README.org:
--------------------------------------------------------------------------------
1 | dotfiles/emacs.d/README.org
--------------------------------------------------------------------------------
/dotfiles/Xresources:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/dotfiles/Xresources
--------------------------------------------------------------------------------
/dotfiles/boot/boot.properties:
--------------------------------------------------------------------------------
1 | #http://boot-clj.com
2 | #Mon Feb 19 16:00:43 PST 2018
3 | BOOT_CLOJURE_NAME=org.clojure/clojure
4 | BOOT_CLOJURE_VERSION=1.7.0
5 | BOOT_VERSION=2.7.2
6 |
--------------------------------------------------------------------------------
/dotfiles/boot/profile.boot:
--------------------------------------------------------------------------------
1 | (require 'boot.repl)
2 |
3 | (swap! boot.repl/*default-dependencies*
4 | concat '[[cider/cider-nrepl "0.15.1"]])
5 |
6 | (swap! boot.repl/*default-middleware*
7 | conj 'cider.nrepl/cider-middleware)
8 |
--------------------------------------------------------------------------------
/dotfiles/cabal/.gitignore:
--------------------------------------------------------------------------------
1 | /lib
2 | /logs
3 | /packages
4 | /share
5 |
--------------------------------------------------------------------------------
/dotfiles/cabal/config:
--------------------------------------------------------------------------------
1 | repository hackage.haskell.org
2 | url: http://hackage.haskell.org/
3 |
4 | remote-repo-cache: /home/imalison/.cabal/packages
5 | world-file: /home/imalison/.cabal/world
6 | extra-prog-path: /home/imalison/.cabal/bin
7 | build-summary: /home/imalison/.cabal/logs/build.log
8 | remote-build-reporting: anonymous
9 | jobs: $ncpus
10 |
--------------------------------------------------------------------------------
/dotfiles/config/.gitignore:
--------------------------------------------------------------------------------
1 | /.mono/keypairs/
2 | /Atom/
3 | /Clementine/
4 | /Code/
5 | /Empathy/
6 | /Franz/
7 | /Gitter/
8 | /Google Play Music Desktop Player/
9 | /Keybase/
10 | /Popcorn-Time/
11 | /QtProject.conf
12 | /QtProject.conf/
13 | /Slack/
14 | /Trolltech.conf
15 | /autostart
16 | /browser-launcher2
17 | /chromium/
18 | /chromium/Avatars/
19 | /configstore
20 | /d-feet/
21 | /dconf/
22 | /discord/
23 | /dleyna-renderer-service.conf
24 | /epiphany/
25 | /evolution/
26 | /gconf/
27 | /gedit/
28 | /gnome-session/
29 | /google-chrome*
30 | /google-chrome-beta/*
31 | /gtk-3.0/bookmarks
32 | /hexchat
33 | /hub
34 | /libreoffice/
35 | /linuxmint/
36 | /menus/
37 | /menus/applications-merged/
38 | /menus/gnome-applications-merged
39 | /monitors.xml
40 | /mopidy
41 | /mopidy/spotify/
42 | /nemo/
43 | /pavucontrol.ini
44 | /pulse/
45 | /sparkleshare/*.key
46 | /sparkleshare/*.pub
47 | /sparkleshare/avatars/
48 | /sparkleshare/logs
49 | /spotify
50 | /sublime-text-3/
51 | /systemd/user/*.target.wants/
52 | /totem/
53 | /transmission/dht.dat
54 | /transmission/resume
55 | /transmission/stats.json
56 | /transmission/torrents/
57 | /unity3d/
58 | /user-dirs.dirs
59 | /user-dirs.locale
60 | /vlc/
61 | /xfce4/
62 |
--------------------------------------------------------------------------------
/dotfiles/config/alacritty/alacritty.toml:
--------------------------------------------------------------------------------
1 | [general]
2 | import = ["/home/imalison/.config/alacritty/themes/themes/dracula.toml"]
3 |
4 | [font]
5 | size = 8
6 |
7 | [scrolling]
8 | history = 10000
9 | multiplier = 3
10 |
11 | [window]
12 | decorations = "full"
13 |
14 | [window.padding]
15 | x = 10
16 | y = 10
17 |
--------------------------------------------------------------------------------
/dotfiles/config/asciinema/config:
--------------------------------------------------------------------------------
1 | [api]
2 | token = 417ba97c-b532-4e4b-86df-a240314ae840
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/AW3423DW_alone/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output DP-2
4 | off
5 | output DP-3
6 | off
7 | output DP-4
8 | off
9 | output DP-5
10 | off
11 | output HDMI-0
12 | off
13 | output DP-0
14 | crtc 0
15 | mode 3440x1440
16 | pos 0x0
17 | primary
18 | rate 143.97
19 | x-prop-non_desktop 0
20 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/AW3423DW_alone/setup:
--------------------------------------------------------------------------------
1 | DP-0 00ffffffffffff0010ace4a153364b300c200104b55123783bfce1b04d3bb8250e505421080001010101010101010101010101010101e77c70a0d0a029503020150829623100001a000000ff0023473749594d78677741413052000000fd0001afffff63010a202020202020000000fc0044656c6c20415733343233445702d8020320f12309070183010000654b04000101e305c000e2006ae6060501634b004ed470a0d0a046503020e50c29623100001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009970127903000f000aa4140e0e07012045000002010d310cdb4dbd13b85b620e01455403013c520101046f0d9f002f801f009f0554004c000400663801046f0d9f002f801f009f0566005e0004008b8101046f0d9f002f801f009f057e007600040000000000000000000000000000000000000000000000000000000000005f90
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/AW3423DW_with_DELL_on_the_right/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output DP-2
4 | off
5 | output DP-3
6 | off
7 | output DP-4
8 | off
9 | output DP-5
10 | off
11 | output DP-0
12 | crtc 0
13 | mode 3440x1440
14 | pos 0x0
15 | primary
16 | rate 143.97
17 | x-prop-non_desktop 0
18 | output HDMI-0
19 | crtc 1
20 | mode 2560x1440
21 | pos 3440x0
22 | rate 59.95
23 | x-prop-non_desktop 0
24 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/AW3423DW_with_DELL_on_the_right/setup:
--------------------------------------------------------------------------------
1 | DP-0 00ffffffffffff0010ace4a153364b300c200104b55123783bfce1b04d3bb8250e505421080001010101010101010101010101010101e77c70a0d0a029503020150829623100001a000000ff0023473749594d78677741413052000000fd0001afffff63010a202020202020000000fc0044656c6c20415733343233445702d8020320f12309070183010000654b04000101e305c000e2006ae6060501634b004ed470a0d0a046503020e50c29623100001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009970127903000f000aa4140e0e07012045000002010d310cdb4dbd13b85b620e01455403013c520101046f0d9f002f801f009f0554004c000400663801046f0d9f002f801f009f0566005e0004008b8101046f0d9f002f801f009f057e007600040000000000000000000000000000000000000000000000000000000000005f90
2 | HDMI-0 00ffffffffffff0010ac69d0534d39312d1a0103803c2278ee4455a9554d9d260f5054a54b00b300d100714fa9408180778001010101565e00a0a0a029503020350055502100001a000000ff00483759434336423831394d530a000000fc0044454c4c205532373135480a20000000fd0038561e711e000a202020202020019c020322f14f1005040302071601141f1213202122230907078301000065030c002000023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018483f00ca808030401a50130055502100001e00000084
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/alienware_kats_office_alone/config:
--------------------------------------------------------------------------------
1 | output HDMI-0
2 | off
3 | output DP-1
4 | off
5 | output DP-2
6 | off
7 | output DP-3
8 | off
9 | output DP-4
10 | off
11 | output DP-5
12 | off
13 | output DP-0
14 | crtc 0
15 | mode 3440x1440
16 | pos 0x0
17 | rate 174.96
18 | x-prop-non_desktop 0
19 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/alienware_kats_office_alone/setup:
--------------------------------------------------------------------------------
1 | DP-0 00ffffffffffff0010ace4a1535a333016210104b55123783b25a1b14d3db7250e505421080001010101010101010101010101010101e77c70a0d0a029503020150829623100001a000000ff00237442737a474441594542634e000000fd0001afffff63010a202020202020000000fc0044656c6c204157333432334457029d020320f12309070183010000654b04000101e305c000e2006ae60605018d4b004ed470a0d0a046503020e50c29623100001a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f70127903000f000aa4140e0e07012045000002010d310e8b4dd323b757920e01455403013c520101046f0d9f002f801f009f0554004c000400663801046f0d9f002f801f009f0566005e0004008b8101046f0d9f002f801f009f057e007600040000000000000000000000000000000000000000000000000000000000005c90
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/blade/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output DP-2
4 | off
5 | output eDP-1
6 | mode 1920x1080
7 | pos 3440x0
8 | primary
9 | rate 144.00
10 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/blade/setup:
--------------------------------------------------------------------------------
1 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/default/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output HDMI-1
4 | off
5 | output DP-2
6 | off
7 | output HDMI-2
8 | off
9 | output HDMI-3
10 | off
11 | output eDP-1
12 | mode 2880x1800
13 | pos 0x0
14 | primary
15 | rate 59.99
16 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/default/setup:
--------------------------------------------------------------------------------
1 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/family_room_above_stevie-nixos/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output DP-2
4 | off
5 | output DP-3
6 | crtc 1
7 | mode 1920x1080
8 | pos 0x0
9 | rate 60.00
10 | output eDP-1
11 | crtc 0
12 | mode 2560x1600
13 | pos 0x1080
14 | primary
15 | rate 59.99
16 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/family_room_above_stevie-nixos/setup:
--------------------------------------------------------------------------------
1 | DP-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010131ce0046f0705a8020108a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a20202001b7020346f14e5d10222005040302015e5f000000293d06c01507500957076e030c001000b83c20008001020300e200cfee0146d00024180900ad5244a9230c00000000e30e0000011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e00000000000000000000000000000000000000000099
2 | eDP-1 00ffffffffffff004d10d61400000000051e0104b52517780a771bab5233ba250c51560000000101010101010101010101010101010172e700a0f0604590302036006ee51000001828b900a0f0604590302036006ee510000018000000fe00374a584b38814c513137305231000000000002410332011200000b010a2020018502030f00e3058000e606050160602800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/home_tv/config:
--------------------------------------------------------------------------------
1 | output HDMI-1
2 | off
3 | output DP-0
4 | off
5 | output DP-1
6 | off
7 | output DP-2
8 | off
9 | output DP-3
10 | off
11 | output HDMI-0
12 | mode 3840x2160
13 | pos 0x0
14 | rate 60.00
15 | output DVI-D-0
16 | mode 2560x1440
17 | pos 0x2160
18 | primary
19 | rate 59.95
20 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/home_tv/postswitch:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 | # -*- mode:sh
3 |
4 | hdmi_sink="$(pahelper | tr -d '\\n' | tr '>' '\\n' | grep hdmi | grep -Eo ': [0-9]+' | tr -d ':')"
5 |
6 | pahelper "$hdmi_sink"
7 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/home_tv/setup:
--------------------------------------------------------------------------------
1 | DVI-D-0 00ffffffffffff0010ac7e404c33353220180103803c2278ea4bb5a7564ba3250a5054a54b008100b300d100714fa9408180d1c00101565e00a0a0a029503020350055502100001a000000ff00374a4e59353438363235334c0a000000fc0044454c4c205532373133484d0a000000fd0031561d711c000a20202020202000e4
2 | HDMI-0 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020354f1506110222005040302015d5e5f66626364293d06c01507500957076e030c001000b83c2000800102030467d85dc401788003e200cfee0146d00024180900ad5244a9230ce305c000e3060d01e30f0110011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e0000000000000088
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_monitor/config:
--------------------------------------------------------------------------------
1 | output HDMI-1
2 | off
3 | output DP-2
4 | off
5 | output HDMI-2
6 | off
7 | output HDMI-3
8 | off
9 | output DP-1
10 | mode 2560x1440
11 | pos 0x0
12 | rate 59.95
13 | output eDP-1
14 | mode 2880x1800
15 | pos 0x1440
16 | primary
17 | rate 59.99
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_monitor/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac65d0534d39312d1a0104a53c22783e4455a9554d9d260f5054a54b00b300d100714fa9408180778001010101565e00a0a0a029503020350055502100001a000000ff00483759434336423831394d530a000000fc0044454c4c205532373135480a20000000fd0038561e711e010a202020202020012902031cf14f1005040302071601141f12132021222309070783010000023a801871382d40582c450055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018483f00ca808030401a50130055502100001e000000000000000000fe
2 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_room/config:
--------------------------------------------------------------------------------
1 | output HDMI-1
2 | off
3 | output DP-2
4 | off
5 | output HDMI-2
6 | off
7 | output DP-1
8 | mode 2560x1440
9 | pos 0x0
10 | rate 59.95
11 | output eDP-1
12 | mode 2880x1800
13 | pos 0x1440
14 | primary
15 | rate 59.99
16 | output HDMI-3
17 | mode 4096x2160
18 | pos 2880x1440
19 | rate 24.00
20 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_room/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac65d0534d39312d1a0104a53c22783e4455a9554d9d260f5054a54b00b300d100714fa9408180778001010101565e00a0a0a029503020350055502100001a000000ff00483759434336423831394d530a000000fc0044454c4c205532373135480a20000000fd0038561e711e010a202020202020012902031cf14f1005040302071601141f12132021222309070783010000023a801871382d40582c450055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018483f00ca808030401a50130055502100001e000000000000000000fe
2 | HDMI-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020346f14e5d10222005040302015e5f626364293d06c01507500957076e030c002000b83c20008001020304e200cfee0146d00024180900ad5244a9230ce3060501e30e6166011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e000000000000000000000000000000000000000000a6
3 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
4 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_tv/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output HDMI-1
4 | off
5 | output DP-2
6 | off
7 | output HDMI-2
8 | off
9 | output HDMI-3
10 | mode 4096x2160
11 | pos 0x0
12 | rate 24.00
13 | output eDP-1
14 | mode 2880x1800
15 | pos 0x2160
16 | primary
17 | rate 59.99
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_tv/setup:
--------------------------------------------------------------------------------
1 | HDMI-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020346f14e5d10222005040302015e5f626364293d06c01507500957076e030c002000b83c20008001020304e200cfee0146d00024180900ad5244a9230ce3060501e30e6166011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e000000000000000000000000000000000000000000a6
2 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_tv_1080/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output HDMI-1
4 | off
5 | output DP-2
6 | off
7 | output HDMI-2
8 | off
9 | output HDMI-3
10 | mode 1920x1080
11 | pos 0x0
12 | rate 60.00
13 | output eDP-1
14 | mode 2880x1800
15 | pos 0x1080
16 | primary
17 | rate 59.99
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_tv_1080/setup:
--------------------------------------------------------------------------------
1 | HDMI-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020346f14e5d10222005040302015e5f626364293d06c01507500957076e030c001000b83c20008001020304e200cfee0146d00024180900ad5244a9230ce3060d01e30e6166011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e000000000000000000000000000000000000000000ae
2 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_tv_right/config:
--------------------------------------------------------------------------------
1 | output HDMI-1
2 | off
3 | output DP-2
4 | off
5 | output HDMI-2
6 | off
7 | output DP-1
8 | mode 2560x1440
9 | pos 0x0
10 | rate 59.95
11 | output eDP-1
12 | mode 2880x1800
13 | pos 2560x0
14 | primary
15 | rate 59.99
16 | output HDMI-3
17 | mode 1920x1080
18 | pos 5440x0
19 | rate 60.00
20 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/kats_tv_right/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac65d0534d39312d1a0104a53c22783e4455a9554d9d260f5054a54b00b300d100714fa9408180778001010101565e00a0a0a029503020350055502100001a000000ff00483759434336423831394d530a000000fc0044454c4c205532373135480a20000000fd0038561e711e010a202020202020012902031cf14f1005040302071601141f12132021222309070783010000023a801871382d40582c450055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e9600555021000018483f00ca808030401a50130055502100001e000000000000000000fe
2 | HDMI-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020346f14e5d10222005040302015e5f626364293d06c01507500957076e030c002000b83c20008001020304e200cfee0146d00024180900ad5244a9230ce3060501e30e6166011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e000000000000000000000000000000000000000000a6
3 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
4 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/loaner/config:
--------------------------------------------------------------------------------
1 | output DP1
2 | off
3 | output DP2
4 | off
5 | output HDMI1
6 | off
7 | output HDMI2
8 | off
9 | output VIRTUAL1
10 | off
11 | output eDP1
12 | mode 1440x900
13 | pos 0x0
14 | primary
15 | rate 60.00
16 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/loaner/setup:
--------------------------------------------------------------------------------
1 | eDP1 00ffffffffffff000610f09c0000000011160104951d127802ef05975754922722505400000001010101010101010101010101010101b922a0a050841a30302036001eb300000018000000100000000000000000000000000000000000fe004c534e31333342543031413032000000fc00436f6c6f72204c43440a2020200009
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/loaner_with_monitor/config:
--------------------------------------------------------------------------------
1 | output DP1
2 | off
3 | output DP2
4 | off
5 | output HDMI2
6 | off
7 | output VIRTUAL1
8 | off
9 | output HDMI1
10 | mode 1920x1080
11 | pos 0x0
12 | rate 60.00
13 | output eDP1
14 | mode 1440x900
15 | pos 0x1080
16 | primary
17 | rate 60.00
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/loaner_with_monitor/setup:
--------------------------------------------------------------------------------
1 | HDMI1 00ffffffffffff0010ac7f404c33353220180103803c2278ea4bb5a7564ba3250a5054a54b008100b300714fa9408180010101010101023a801871382d40582c250055502100001e000000ff00374a4e59353438363235334c0a000000fc0044454c4c205532373133484d0a000000fd00384c1e5111000a2020202020200168020329f15090050403020716010611121513141f2023097f0767030c001000382d83010000e3050301023a801871382d40582c250055502100001e011d8018711c1620582c250055502100009e011d007251d01e206e28550055502100001e8c0ad08a20e02d10103e960055502100001800000000000000000000000000007a
2 | eDP1 00ffffffffffff000610f09c0000000011160104951d127802ef05975754922722505400000001010101010101010101010101010101b922a0a050841a30302036001eb300000018000000100000000000000000000000000000000000fe004c534e31333342543031413032000000fc00436f6c6f72204c43440a2020200009
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/loaner_with_tv/config:
--------------------------------------------------------------------------------
1 | output DP1
2 | off
3 | output DP2
4 | off
5 | output HDMI2
6 | off
7 | output VIRTUAL1
8 | off
9 | output HDMI1
10 | mode 1920x1080
11 | pos 0x0
12 | rate 60.00
13 | output eDP1
14 | mode 1440x900
15 | pos 0x1080
16 | primary
17 | rate 60.00
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/loaner_with_tv/setup:
--------------------------------------------------------------------------------
1 | HDMI1 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020346f14e5d10222005040302015e5f626364293d06c01507500957076e030c001000b83c20008001020304e200cfee0146d00024180900ad5244a9230ce3060d01e30e6166011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e000000000000000000000000000000000000000000ae
2 | eDP1 00ffffffffffff000610f09c0000000011160104951d127802ef05975754922722505400000001010101010101010101010101010101b922a0a050841a30302036001eb300000018000000100000000000000000000000000000000000fe004c534e31333342543031413032000000fc00436f6c6f72204c43440a2020200009
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/postswitch:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | notify-send -i display "Display profile" "$AUTORANDR_CURRENT_PROFILE"
3 | systemctl --user restart random-background
4 |
5 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_1/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output DP-1
4 | mode 3440x1440
5 | pos 0x0
6 | rate 59.97
7 | output eDP-1
8 | mode 1920x1080
9 | pos 0x1440
10 | primary
11 | rate 144.00
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_1/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c574631301c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00484332565750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020014802031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_2/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output DP-1
4 | mode 3440x1440
5 | pos 0x0
6 | rate 59.97
7 | output eDP-1
8 | mode 1920x1080
9 | pos 3440x0
10 | primary
11 | rate 144.00
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_2/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c544b302f1c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00334a57545750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020013302031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_3/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output DP-1
4 | mode 3440x1440
5 | pos 0x0
6 | rate 59.97
7 | output eDP-1
8 | mode 1920x1080
9 | pos 3440x0
10 | primary
11 | rate 144.00
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_3/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c554331311c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00425036565750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020014102031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_4/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output eDP-1
4 | mode 1920x1080
5 | pos 0x0
6 | primary
7 | rate 144.00
8 | output DP-1
9 | mode 3440x1440
10 | pos 1920x0
11 | rate 59.97
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_4/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c594331311c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00465036565750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020013902031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_5/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output eDP-1
4 | mode 1920x1080
5 | pos 0x0
6 | primary
7 | rate 144.00
8 | output DP-1
9 | mode 3440x1440
10 | pos 1920x0
11 | rate 59.97
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_5/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c3050302f1c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00485057545750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020013702031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_6/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output eDP-1
4 | mode 1920x1080
5 | pos 0x0
6 | primary
7 | rate 144.00
8 | output DP-1
9 | mode 3440x1440
10 | pos 1920x0
11 | rate 59.97
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_6/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c4647302f1c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00343156545750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020015e02031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_7/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output DP-1
4 | mode 3440x1440
5 | pos 0x0
6 | rate 59.97
7 | output eDP-1
8 | mode 1920x1080
9 | pos 3440x0
10 | primary
11 | rate 144.00
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/sf_office_7/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010ac32a14c374c302f1c0104b55021783eee95a3544c99260f5054a54b00714f81008180a940d1c0010101010101e77c70a0d0a0295030203a00204f3100001a000000ff00484a57545750320a2020202020000000fc0044454c4c205533343139570a20000000fd0030551e5920010a202020202020013a02031df1509005040302071601141f1213454b4c5a2309070783010000023a801871382d40582c4500204f3100001e584d00b8a1381440942cb500204f3100001e565e00a0a0a0295030203500204f3100001a3c41b8a060a029505020ca04204f3100001a0000000000000000000000000000000000000000000000000000d5
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/stevie-nixos/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output DP-2
4 | off
5 | output DP-3
6 | off
7 | output eDP-1
8 | crtc 0
9 | mode 2560x1600
10 | pos 0x0
11 | primary
12 | rate 59.99
13 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/stevie-nixos/setup:
--------------------------------------------------------------------------------
1 | eDP-1 00ffffffffffff004d10d61400000000051e0104b52517780a771bab5233ba250c51560000000101010101010101010101010101010172e700a0f0604590302036006ee51000001828b900a0f0604590302036006ee510000018000000fe00374a584b38814c513137305231000000000002410332011200000b010a2020018502030f00e3058000e606050160602800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000aa
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/strixy-minaj-240hz-solo/config:
--------------------------------------------------------------------------------
1 | output DP-0
2 | off
3 | output DP-1
4 | off
5 | output HDMI-0
6 | off
7 | output DP-3
8 | off
9 | output DP-4
10 | off
11 | output DP-5
12 | off
13 | output DP-6
14 | off
15 | output DP-2
16 | crtc 0
17 | mode 2560x1600
18 | pos 0x0
19 | rate 240.00
20 | x-prop-non_desktop 0
21 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/strixy-minaj-240hz-solo/setup:
--------------------------------------------------------------------------------
1 | DP-2 00ffffffffffff0009e5580c0000000001210104b527187803bbc5ae503fb7250c515500000001010101010101010101010101010101c07200a0a040c8603020360084f21000001a000000fd0c30f0b1b176010a202020202020000000fe00424f452043510a202020202020000000fc004e4531383051444d2d4e4d310a029602030f00e3058080e606050195731000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000fa702079020021001d280f7409000a400680dd2a511824b249120e023554b060ec64662a1378220014ffed1185ff099f002f001f003f06c700020005002b000c27003cef00002700303b0000810015741a0000030b30f0006095107310f0000000008d00000000000000000000000000000000000000000000000000000000bc90
2 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/tv/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output HDMI-1
4 | off
5 | output DP-2
6 | off
7 | output HDMI-2
8 | off
9 | output HDMI-3
10 | mode 1920x1080
11 | pos 0x0
12 | rate 60.00
13 | output eDP-1
14 | mode 2880x1800
15 | pos 0x1080
16 | primary
17 | rate 59.99
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/tv/setup:
--------------------------------------------------------------------------------
1 | HDMI-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020354f1506110222005040302015d5e5f66626364293d06c01507500957076e030c001000b83c2000800102030467d85dc401788003e200cfee0146d00024180900ad5244a9230ce305c000e3060d01e30f0110011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e0000000000000088
2 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/tv_1080/config:
--------------------------------------------------------------------------------
1 | output DP-1
2 | off
3 | output HDMI-1
4 | off
5 | output DP-2
6 | off
7 | output HDMI-2
8 | off
9 | output HDMI-3
10 | mode 1920x1080
11 | pos 0x0
12 | rate 60.00
13 | output eDP-1
14 | mode 2880x1800
15 | pos 0x1080
16 | primary
17 | rate 59.99
18 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/tv_1080/setup:
--------------------------------------------------------------------------------
1 | HDMI-3 00ffffffffffff001e6d010001010101011a010380a05a780aee91a3544c99260f5054a108003140454061407140818001010101010108e80030f2705a80b0588a0040846300001e023a801871382d40582c450040846300001e000000fd003a3e1e883c000a202020202020000000fc004c47205456205256550a2020200102020346f14e5d10222005040302015e5f626364293d06c01507500957076e030c002000b83c20008001020304e200cfee0146d00024180900ad5244a9230ce3060d01e30e6166011d8018711c1620582c250040846300009e662150b051001b304070360040846300001e0000000000000000000000000000000000000000009e
2 | eDP-1 00ffffffffffff00061022a00000000004170104a5211578026fb1a7554c9e250c505400000001010101010101010101010101010101ef8340a0b0083470302036004bcf1000001a000000fc00436f6c6f72204c43440a20202000000010000000000000000000000000000000000010000000000000000000000000000000de
3 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/work/config:
--------------------------------------------------------------------------------
1 | output DP-2
2 | off
3 | output DP-1
4 | mode 3840x1600
5 | pos 0x0
6 | rate 59.99
7 | output eDP-1
8 | mode 1920x1080
9 | pos 0x1600
10 | primary
11 | rate 144.00
12 |
--------------------------------------------------------------------------------
/dotfiles/config/autorandr/work/setup:
--------------------------------------------------------------------------------
1 | DP-1 00ffffffffffff0010acf4a04c524430091c0104b55825783eee95a3544c99260f5054a54b00714f81008180a940d1c00101010101014c9a00a0f0402e6030203a00706f3100001a000000ff0039374638503833313044524c0a000000fc0044454c4c20553338313844570a000000fd001855197328000a20202020202001c702031af14d9005040302071601141f12135a2309070783010000023a801871382d40582c4500706f3100001e565e00a0a0a0295030203500706f3100001acd4600a0a0381f4030203a00706f3100001a2d5080a070402e6030203a00706f3100001a134c00a0f040176030203a00706f3100001a000000000000000000000053
2 | eDP-1 00ffffffffffff0030e4c00500000000001b0104a54f0078eae085a3544e9b260e5054000000010101010101010101010101010101015e8780a070384d403020350058c21000001b683880a070384d403020350058c21000001b00000000000000000000000000000000000000000002000c30f20f3c962e12309e00000000a8
3 |
--------------------------------------------------------------------------------
/dotfiles/config/clipit/clipitrc:
--------------------------------------------------------------------------------
1 | [rc]
2 | use_copy=true
3 | use_primary=true
4 | synchronize=false
5 | automatic_paste=false
6 | show_indexes=true
7 | save_uris=true
8 | use_rmb_menu=false
9 | save_history=true
10 | history_limit=1000
11 | history_timeout_seconds=30
12 | history_timeout=false
13 | items_menu=50
14 | statics_show=true
15 | statics_items=10
16 | hyperlinks_only=false
17 | confirm_clear=false
18 | single_line=false
19 | reverse_history=false
20 | item_length=50
21 | ellipsize=2
22 | history_key=
23 | actions_key=
24 | menu_key=
25 | search_key=
26 | offline_key=
27 | offline_mode=false
28 |
--------------------------------------------------------------------------------
/dotfiles/config/copyq/.gitignore:
--------------------------------------------------------------------------------
1 | /copyq-filter.ini
2 | /copyq.pub
3 | /copyq_geometry.ini
4 | /copyq-bak.conf
5 | /copyq_tabs.ini
6 | /*==.dat
7 |
--------------------------------------------------------------------------------
/dotfiles/config/dolphin-emu/GCPadNew.ini:
--------------------------------------------------------------------------------
1 | [GCPad1]
2 | Device = XInput2/0/Virtual core pointer
3 | Buttons/A = X
4 | Buttons/B = Z
5 | Buttons/X = C
6 | Buttons/Y = S
7 | Buttons/Z = D
8 | Buttons/Start = !`Alt_L` & Return
9 | Main Stick/Up = Up
10 | Main Stick/Down = Down
11 | Main Stick/Left = Left
12 | Main Stick/Right = Right
13 | Main Stick/Modifier = Shift_L
14 | Main Stick/Modifier/Range = 50.000000000000000
15 | C-Stick/Up = I
16 | C-Stick/Down = K
17 | C-Stick/Left = J
18 | C-Stick/Right = L
19 | C-Stick/Modifier = Control_L
20 | C-Stick/Modifier/Range = 50.000000000000000
21 | Triggers/L = Q
22 | Triggers/R = W
23 | D-Pad/Up = T
24 | D-Pad/Down = G
25 | D-Pad/Left = F
26 | D-Pad/Right = H
27 |
--------------------------------------------------------------------------------
/dotfiles/config/dolphin-emu/Galaxy 2.ini:
--------------------------------------------------------------------------------
1 | [Profile]
2 | Device = XInput/0/Gamepad
3 | Buttons/A = Button A
4 | Buttons/B = Button X
5 | Buttons/1 = Button Y
6 | Buttons/2 = Button B
7 | Buttons/- = Back
8 | Buttons/+ = Start
9 | IR/Up = `DInput/0/Keyboard Mouse`Cursor Y-
10 | IR/Down = `DInput/0/Keyboard Mouse`Cursor Y+
11 | IR/Left = `DInput/0/Keyboard Mouse`Cursor X-
12 | IR/Right = `DInput/0/Keyboard Mouse`Cursor X+
13 | Swing/Up = Right Y+
14 | Swing/Down = Right Y-
15 | Swing/Left = Right X-
16 | Swing/Right = Right X+
17 | Shake/X = Shoulder R
18 | Shake/Y = Shoulder R
19 | Shake/Z = Shoulder R
20 | Extension = Nunchuk
21 | Nunchuk/Buttons/C = Shoulder L
22 | Nunchuk/Buttons/Z = Trigger L
23 | Nunchuk/Stick/Up = Left Y+
24 | Nunchuk/Stick/Down = Left Y-
25 | Nunchuk/Stick/Left = Left X-
26 | Nunchuk/Stick/Right = Left X+
27 | Nunchuk/Stick/Modifier = Thumb L
28 | Rumble/Motor = Motor L|Motor R
29 | Rumble/Motor/Range = 450.000000
30 | D-Pad/Up = Pad N
31 | D-Pad/Down = Pad S
32 | D-Pad/Left = Pad W
33 | D-Pad/Right = Pad E
34 |
--------------------------------------------------------------------------------
/dotfiles/config/dolphin-emu/Logger.ini:
--------------------------------------------------------------------------------
1 | [LogWindow]
2 | x = 400
3 | y = 600
4 | pos = 2
5 | [Options]
6 | Font = 0
7 | WrapLines = False
8 |
--------------------------------------------------------------------------------
/dotfiles/config/dolphin-emu/Profiles/Wiimote/Galaxy 2.ini:
--------------------------------------------------------------------------------
1 | [Profile]
2 | Device = XInput/0/Gamepad
3 | Buttons/A = Button A
4 | Buttons/B = Button X
5 | Buttons/1 = Button Y
6 | Buttons/2 = Button B
7 | Buttons/- = Back
8 | Buttons/+ = Start
9 | IR/Up = `DInput/0/Keyboard Mouse`Cursor Y-
10 | IR/Down = `DInput/0/Keyboard Mouse`Cursor Y+
11 | IR/Left = `DInput/0/Keyboard Mouse`Cursor X-
12 | IR/Right = `DInput/0/Keyboard Mouse`Cursor X+
13 | Swing/Up = Right Y+
14 | Swing/Down = Right Y-
15 | Swing/Left = Right X-
16 | Swing/Right = Right X+
17 | Shake/X = Shoulder R
18 | Shake/Y = Shoulder R
19 | Shake/Z = Shoulder R
20 | Extension = Nunchuk
21 | Nunchuk/Buttons/C = Shoulder L
22 | Nunchuk/Buttons/Z = Trigger L
23 | Nunchuk/Stick/Up = Left Y+
24 | Nunchuk/Stick/Down = Left Y-
25 | Nunchuk/Stick/Left = Left X-
26 | Nunchuk/Stick/Right = Left X+
27 | Nunchuk/Stick/Modifier = Thumb L
28 | Rumble/Motor = Motor L|Motor R
29 | Rumble/Motor/Range = 450.000000
30 | D-Pad/Up = Pad N
31 | D-Pad/Down = Pad S
32 | D-Pad/Left = Pad W
33 | D-Pad/Right = Pad E
34 |
--------------------------------------------------------------------------------
/dotfiles/config/dolphin-emu/Profiles/Wiimote/qweruiop.ini:
--------------------------------------------------------------------------------
1 | [Profile]
2 | Device = XInput2/0/Virtual core pointer
3 | Buttons/A = Click 1
4 | Buttons/B = Click 3
5 | Buttons/1 = 1
6 | Buttons/2 = 2
7 | Buttons/- = Q
8 | Buttons/+ = E
9 | Buttons/Home = !`Alt_L` & Return
10 | IR/Up = Cursor Y-
11 | IR/Down = Cursor Y+
12 | IR/Left = Cursor X-
13 | IR/Right = Cursor X+
14 | Shake/X = Click 2
15 | Shake/Y = Click 2
16 | Shake/Z = Click 2
17 | Extension = Nunchuk
18 | Nunchuk/Buttons/C = Control_L
19 | Nunchuk/Buttons/Z = Shift_L
20 | Nunchuk/Stick/Up = W
21 | Nunchuk/Stick/Down = S
22 | Nunchuk/Stick/Left = A
23 | Nunchuk/Stick/Right = D
24 | D-Pad/Up = Up
25 | D-Pad/Down = Down
26 | D-Pad/Left = Left
27 | D-Pad/Right = Right
28 |
--------------------------------------------------------------------------------
/dotfiles/config/dolphin-emu/WiimoteNew.ini:
--------------------------------------------------------------------------------
1 | [Wiimote1]
2 | Device = XInput2/0/Virtual core pointer
3 | Buttons/A = Click 1
4 | Buttons/B = Click 3
5 | Buttons/1 = 1
6 | Buttons/2 = 2
7 | Buttons/- = Q
8 | Buttons/+ = E
9 | IR/Up = Cursor Y-
10 | IR/Down = Cursor Y+
11 | IR/Left = Cursor X-
12 | IR/Right = Cursor X+
13 | Shake/X = Click 2
14 | Shake/Y = Click 2
15 | Shake/Z = Click 2
16 | Extension = Nunchuk
17 | Nunchuk/Buttons/C = Control_L
18 | Nunchuk/Buttons/Z = Shift_L
19 | Nunchuk/Stick/Up = W
20 | Nunchuk/Stick/Down = S
21 | Nunchuk/Stick/Left = A
22 | Nunchuk/Stick/Right = D
23 | D-Pad/Up = W
24 | D-Pad/Down = S
25 | D-Pad/Left = A
26 | D-Pad/Right = D
27 | Source = 1
28 | Buttons/Home = !`Alt_L` & Return
29 | [Wiimote2]
30 | Source = 1
31 | [Wiimote3]
32 | Source = 0
33 | [Wiimote4]
34 | Source = 0
35 | [BalanceBoard]
36 | Source = 0
37 |
--------------------------------------------------------------------------------
/dotfiles/config/flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | max-line-length = 100
3 | ignore = E701
--------------------------------------------------------------------------------
/dotfiles/config/fontconfig/conf.d/01-emoji.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Apple Color Emoji
7 | emoji
8 |
9 |
10 | Segoe UI Emoji
11 | emoji
12 |
13 |
14 | Segoe UI Symbol
15 | emoji
16 |
17 |
18 | Noto Emoji
19 | emoji
20 |
21 |
22 | Noto Color Emoji
23 | emoji
24 |
25 |
26 | Symbola
27 | emoji
28 |
29 |
30 | Android Emoji
31 | emoji
32 |
33 |
34 | EmojiSymbols
35 | emoji
36 |
37 |
38 |
--------------------------------------------------------------------------------
/dotfiles/config/fontconfig/fonts.conf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | true
6 |
7 |
8 | true
9 |
10 |
11 | hintslight
12 |
13 |
14 | rgb
15 |
16 |
17 | lcdlight
18 |
19 |
20 |
21 | roboto mono
22 | Roboto
23 |
24 | ~/.fonts
25 |
26 |
--------------------------------------------------------------------------------
/dotfiles/config/gocode/config.json:
--------------------------------------------------------------------------------
1 | {"propose-builtins":true,"lib-path":"","autobuild":false,"force-debug-output":""}
2 |
--------------------------------------------------------------------------------
/dotfiles/config/keepassx/keepassx2.ini:
--------------------------------------------------------------------------------
1 | [General]
2 | AutoSaveAfterEveryChange=false
3 | AutoSaveOnExit=false
4 | AutoTypeEntryTitleMatch=true
5 | GlobalAutoTypeKey=0
6 | GlobalAutoTypeModifiers=0
7 | LastDatabases=/home/imalison/SparkleShare/config/db.kdbx
8 | LastDir=/home/imalison/SparkleShare/config
9 | LastKeyFiles=@Variant(\0\0\0\x1c\0\0\0\x1\0\0\0T\0/\0h\0o\0m\0\x65\0/\0i\0m\0\x61\0l\0i\0s\0o\0n\0/\0S\0p\0\x61\0r\0k\0l\0\x65\0S\0h\0\x61\0r\0\x65\0/\0\x63\0o\0n\0\x66\0i\0g\0/\0\x64\0\x62\0.\0k\0\x64\0\x62\0x\0\0\0\n\0\0\0h\0/\0h\0o\0m\0\x65\0/\0i\0m\0\x61\0l\0i\0s\0o\0n\0/\0S\0p\0\x61\0r\0k\0l\0\x65\0S\0h\0\x61\0r\0\x65\0/\0\x63\0o\0n\0\x66\0i\0g\0/\0\x63\0r\0\x65\0\x64\0s\0/\0k\0\x65\0\x65\0p\0\x61\0s\0s\0.\0k\0\x65\0y)
10 | LastOpenedDatabases=/home/imalison/SparkleShare/config/db.kdbx
11 | MinimizeOnCopy=false
12 | OpenPreviousDatabasesOnStartup=true
13 | RememberLastDatabases=true
14 | RememberLastKeyFiles=true
15 | ShowToolbar=true
16 | UseGroupIconOnEntryCreation=false
17 |
18 | [GUI]
19 | EntryListColumnSizes=150, 150, 565
20 | EntrySearchColumnSizes=150, 150, 150, 205
21 | Language=system
22 | MainWindowGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\x2\x80\0\0\bp\0\0\f\x7f\0\0\xe\xf\0\0\x2\x80\0\0\bp\0\0\f\x7f\0\0\xe\xf\0\0\0\0\0\0\0\0\n\0)
23 | MinimizeOnClose=true
24 | MinimizeOnStartup=true
25 | MinimizeToTray=true
26 | ShowTrayIcon=true
27 | SplitterState=@Invalid()
28 |
29 | [Http]
30 | AlwaysAllowAccess=false
31 | BestMatchOnly=false
32 | Enabled=true
33 | Host=localhost
34 | MatchUrlScheme=true
35 | Port=19455
36 | SearchInAllDatabases=false
37 | ShowNotification=true
38 | SortByUsername=false
39 | UnlockDatabase=true
40 |
41 | [generator]
42 | EnsureEvery=true
43 | ExcludeAlike=true
44 | Length=16
45 | LowerCase=true
46 | Numbers=true
47 | SpecialChars=true
48 | UpperCase=true
49 |
50 | [security]
51 | autotypeask=true
52 | clearclipboard=true
53 | clearclipboardtimeout=10
54 | lockdatabaseidle=false
55 | lockdatabaseidlesec=10
56 | passwordscleartext=false
57 |
--------------------------------------------------------------------------------
/dotfiles/config/keepassxc/keepassxc.ini:
--------------------------------------------------------------------------------
1 | [General]
2 | AutoSaveAfterEveryChange=false
3 | AutoSaveOnExit=false
4 | AutoTypeEntryTitleMatch=true
5 | GlobalAutoTypeKey=0
6 | GlobalAutoTypeModifiers=0
7 | LastDatabases=/home/imalison/SparkleShare/config/db.kdbx, /home/imalison/SparkleShare/config/creds/keepass.key
8 | LastKeyFiles=@Variant(\0\0\0\x1c\0\0\0\x1\0\0\0T\0/\0h\0o\0m\0\x65\0/\0i\0m\0\x61\0l\0i\0s\0o\0n\0/\0S\0p\0\x61\0r\0k\0l\0\x65\0S\0h\0\x61\0r\0\x65\0/\0\x63\0o\0n\0\x66\0i\0g\0/\0\x64\0\x62\0.\0k\0\x64\0\x62\0x\0\0\0\n\0\0\0h\0/\0h\0o\0m\0\x65\0/\0i\0m\0\x61\0l\0i\0s\0o\0n\0/\0S\0p\0\x61\0r\0k\0l\0\x65\0S\0h\0\x61\0r\0\x65\0/\0\x63\0o\0n\0\x66\0i\0g\0/\0\x63\0r\0\x65\0\x64\0s\0/\0k\0\x65\0\x65\0p\0\x61\0s\0s\0.\0k\0\x65\0y)
9 | LastOpenedDatabases=/home/imalison/SparkleShare/config/db.kdbx
10 | MinimizeOnCopy=false
11 | OpenPreviousDatabasesOnStartup=true
12 | RememberLastDatabases=true
13 | RememberLastKeyFiles=true
14 | ShowToolbar=true
15 | UseGroupIconOnEntryCreation=false
16 |
17 | [GUI]
18 | EntryListColumnSizes=150, 150, 173
19 | EntrySearchColumnSizes=@Invalid()
20 | Language=system
21 | MainWindowGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x2\0\0\0\0\x1\xe0\0\0\0\x19\0\0\x3\xbf\0\0\x3\x83\0\0\x1\xe0\0\0\0\x19\0\0\x3\xbf\0\0\x3\x83\0\0\0\0\0\0\0\0\x5\xa0)
22 | MinimizeOnClose=true
23 | MinimizeOnStartup=false
24 | MinimizeToTray=true
25 | ShowTrayIcon=true
26 | SplitterState=@Invalid()
27 |
28 | [Http]
29 | AlwaysAllowAccess=true
30 | AlwaysAllowUpdate=false
31 | BestMatchOnly=false
32 | Enabled=true
33 | Host=localhost
34 | MatchUrlScheme=false
35 | Port=19455
36 | SearchInAllDatabases=false
37 | ShowNotification=true
38 | SortByUsername=false
39 | SupportKphFields=true
40 | UnlockDatabase=true
41 |
42 | [generator]
43 | EnsureEvery=true
44 | ExcludeAlike=false
45 | Length=16
46 | LowerCase=true
47 | Numbers=true
48 | SpecialChars=true
49 | UpperCase=true
50 |
51 | [security]
52 | autotypeask=true
53 | clearclipboard=true
54 | clearclipboardtimeout=10
55 | lockdatabaseidle=false
56 | lockdatabaseidlesec=10
57 | lockdatabaseminimize=false
58 | passwordscleartext=false
59 |
--------------------------------------------------------------------------------
/dotfiles/config/latexmk/latexmkrc:
--------------------------------------------------------------------------------
1 | $pdf_mode = 1
2 |
--------------------------------------------------------------------------------
/dotfiles/config/lxqt/.gitignore:
--------------------------------------------------------------------------------
1 | /debug.log
2 |
--------------------------------------------------------------------------------
/dotfiles/config/lxqt/lxqt-powermanagement.conf:
--------------------------------------------------------------------------------
1 | [General]
2 | __userfile__=true
3 | enableBatteryWatcher=true
4 | enableExtMonLidClosedActions=true
5 | enableIdlenessWatcher=true
6 | enableLidWatcher=true
7 | lidClosedAcAction=4
8 | lidClosedAction=4
9 | lidClosedExtMonAcAction=-1
10 | lidClosedExtMonAction=-1
11 | powerLowAction=-1
12 | powerLowLevel=5
13 | powerLowWarning=30
14 | runCheckLevel=1
15 | showIcon=true
16 | useThemeIcons=false
17 |
--------------------------------------------------------------------------------
/dotfiles/config/lxqt/lxqt.conf:
--------------------------------------------------------------------------------
1 | [General]
2 | __userfile__=true
3 |
--------------------------------------------------------------------------------
/dotfiles/config/lxqt/power.conf:
--------------------------------------------------------------------------------
1 | [General]
2 | __userfile__=true
3 |
--------------------------------------------------------------------------------
/dotfiles/config/mimeapps.list:
--------------------------------------------------------------------------------
1 | [Added Associations]
2 | video/x-matroska=vlc.desktop;
3 | audio/flac=vlc.desktop;
4 | image/jpeg=feh.desktop;
5 | video/x-msvideo=vlc.desktop;
6 | text/vnd.trolltech.linguist=vlc.desktop;
7 | audio/mpeg=vlc.desktop;
8 | application/pdf=okularApplication_pdf.desktop;
9 | image/png=okularApplication_kimgio.desktop;
10 | video/mp4=vlc.desktop;org.gnome.Totem.desktop;
11 | x-scheme-handler/magnet=userapp-transmission-gtk-24GQLZ.desktop;
12 | element=element-desktop.desktop
13 |
14 | [Default Applications]
15 | text/html=google-chrome.desktop
16 | x-scheme-handler/http=google-chrome.desktop
17 | x-scheme-handler/https=google-chrome.desktop
18 | x-scheme-handler/about=google-chrome.desktop
19 | x-scheme-handler/unknown=google-chrome.desktop
20 | x-scheme-handler/magnet=userapp-transmission-gtk-24GQLZ.desktop
21 | x-scheme-handler/element=element-desktop.desktop
22 |
--------------------------------------------------------------------------------
/dotfiles/config/org.sparkleshare.SparkleShare/.gitignore:
--------------------------------------------------------------------------------
1 | /logs/*
2 | *.key
3 |
--------------------------------------------------------------------------------
/dotfiles/config/org.sparkleshare.SparkleShare/projects.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Ivan Malison
5 | IvanMalison@gmail.com
6 |
7 | True
8 |
9 | config
10 | 39cd38b2e3c98ff32b1b597659e44af6fb803051a38f742c74319a85c00f021a
11 | ssh://git@bitbucket.org/ivanmalison/config
12 | Git
13 |
14 |
15 | org
16 | bfdb71914356d820aacbad80bf8880a7205e87e0aa925627d4b5f4d14b87fc45
17 | ssh://git@bitbucket.org/ivanmalison/org
18 | Git
19 |
20 |
21 | pass
22 | e4c0a9b8510234fc95ff0dc2ba3357373883ed3506ed96522a3540ece7a748e6
23 | ssh://git@bitbucket.org/ivanmalison/pass
24 | Git
25 |
26 |
27 | kat_org
28 | bff2a9675e8fafbfddf08c142e1c313ce7db262216d83f3b3a84f04de01c7ba1
29 | ssh://git@bitbucket.org/kathuang/org
30 | Git
31 |
32 |
33 |
--------------------------------------------------------------------------------
/dotfiles/config/org.sparkleshare.SparkleShare/ssh/2017-02-21_23h31.key.pub:
--------------------------------------------------------------------------------
1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCyegmtKlqZ1XzK6afrQsU0NGKwHiJy2W1Myiisp2BPFeEWmMl9DX95qJWp62/1XxDGTqKEpHQl38ZG9Vq/3yuJ3ja8gXBNpvwgrpYG5BKjKa37nAG/IuUTXqJWufVzdN4VdYXGojkECpl1vOXx0guc8cyipzB4HiuVHmqh5u7EAJh1ws9vjeXO/H9AEVUa6wvcKjnMRwTYPcpg2UD+EYS/jE3Vpm+fHFgDuS4P8KdwVUxsr+BNh+Kp+UsGqpYDmzyHWExZbvprEUJF3VDFfPeor2hAHjlSR552YosF72eJXF1JePH5IdyBErLpaoY+yIrpOOIUmCJHDEAQqOv0vgcCC95rP1GzUbjlLWGBTgFff7oeCKd4x/T2ANA49cSslF3XPvT7eeZOTU8uZfC8YcuzobLiuDmLaQo8RtsQaR5VWXVZSgSi33KmSZVX7HiSxULG4hyHRbRbBobv/sS+hy8HY7K/hD09WoJBvpph5zaHQSXZgy33P9ky+/TaXQEPGZXbOtiGBbTqTxakXMii/H29PEszUdeMb9DNyws0GTNwrsz3ytLrXGdeKHfPMDldhQGfa0CKAuP2TiMDQlxiCEe/RyB6jeufbE8KprFwLDlNiRjRKWvERJHYZuS0va6vMtSKNZRKpgb/ozUj33YygwcWAUSA/n7Q9KLmkCQv+OQoXw== imalison-mpb-arch (SparkleShare)
2 |
--------------------------------------------------------------------------------
/dotfiles/config/parcellite/parcelliterc:
--------------------------------------------------------------------------------
1 | [rc]
2 | RCVersion=1
3 | use_copy=true
4 | use_primary=true
5 | synchronize=true
6 | save_history=true
7 | history_pos=false
8 | history_x=1
9 | history_y=1
10 | history_limit=1000
11 | data_size=0
12 | item_size=5
13 | automatic_paste=false
14 | auto_key=false
15 | auto_mouse=true
16 | key_input=false
17 | restore_empty=true
18 | rc_edit=false
19 | type_search=false
20 | case_search=false
21 | ignore_whiteonly=false
22 | trim_wspace_begend=false
23 | trim_newline=false
24 | hyperlinks_only=false
25 | confirm_clear=true
26 | current_on_top=true
27 | single_line=true
28 | reverse_history=false
29 | item_length=50
30 | persistent_history=false
31 | persistent_separate=false
32 | persistent_on_top=false
33 | persistent_delim=\\n
34 | nonprint_disp=false
35 | ellipsize=2
36 | multi_user=true
37 | icon_name=parcellite
38 | menu_key=
39 | history_key=
40 | phistory_key=
41 | actions_key=
42 |
--------------------------------------------------------------------------------
/dotfiles/config/powerline/colorschemes/shell/default.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Default color scheme for shell prompts",
3 | "groups": {
4 | "user": {"fg": "white", "bg": "blue"},
5 | "hostname": {"fg": "brightyellow", "bg": "mediumorange", "attr": []},
6 | "jobnum": {"fg": "brightyellow", "bg": "mediumorange", "attr": []},
7 | "exit_fail": {"fg": "white", "bg": "darkestred", "attr": []},
8 | "exit_success": {"fg": "white", "bg": "darkestgreen", "attr": []},
9 | "environment": {"fg": "white", "bg": "darkestgreen", "attr": []},
10 | "mode": {"fg": "darkestgreen", "bg": "brightgreen",
11 | "attr": ["bold"] },
12 | "attached_clients": { "fg": "white", "bg": "darkestgreen", "attr": [] }
13 | },
14 | "mode_translations": {
15 | "vicmd": {
16 | "groups": {
17 | "mode": {"fg": "darkestcyan", "bg": "white", "attr": ["bold"]}
18 | }
19 | }
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/dotfiles/config/powerline/colorschemes/tmux/default.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Default color scheme for terminal prompts",
3 | "groups": {
4 | "window_status_left": { "fg": "blue", "bg": "black", "attr": ["bold"] },
5 | "window_status_right": { "fg": "blue", "bg": "black", "attr": ["bold"] },
6 | "current_window_status_left": { "fg": "blue", "bg": "black", "attr": ["bold"] },
7 | "current_window_status_right": { "fg": "blue", "bg": "black", "attr": ["bold"] },
8 | "background:divider": { "fg": "blue", "bg": "black", "attr": ["bold"] },
9 | "session": { "fg": "blue", "bg": "black", "attr": ["bold"] },
10 | "date": { "fg": "blue", "bg": "black", "attr": ["bold"] },
11 | "time": { "fg": "blue", "bg": "black", "attr": ["bold"] },
12 | "time:divider": { "fg": "blue", "bg": "black", "attr": ["bold"] },
13 | "email_alert": { "fg": "blue", "bg": "black", "attr": ["bold"] },
14 | "email_alert_gradient": { "fg": "blue", "bg": "black", "attr": ["bold"] },
15 | "hostname": { "fg": "blue", "bg": "black", "attr": ["bold"] },
16 | "weather": { "fg": "blue", "bg": "black", "attr": ["bold"] },
17 | "uptime": { "fg": "blue", "bg": "black", "attr": ["bold"] },
18 | "external_ip": { "fg": "blue", "bg": "black", "attr": ["bold"] },
19 | "system_load": { "fg": "blue", "bg": "black", "attr": ["bold"] },
20 | "system_load_gradient": { "fg": "blue", "bg": "black", "attr": ["bold"] },
21 | "cpu_load_percent": { "fg": "blue", "bg": "black", "attr": ["bold"] },
22 | "cpu_load_percent_gradient": { "fg": "blue", "bg": "black", "attr": ["bold"] },
23 | "environment": { "fg": "blue", "bg": "black", "attr": ["bold"] },
24 | "battery": { "fg": "blue", "bg": "black", "attr": ["bold"] },
25 | "test": { "fg": "blue", "bg": "black", "attr": ["bold"] },
26 | "battery_gradient": { "fg": "blue", "bg": "black", "attr": ["bold"] },
27 | "now_playing": { "fg": "blue", "bg": "black", "attr": ["bold"] }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/dotfiles/config/powerline/themes/shell/default.json:
--------------------------------------------------------------------------------
1 | {
2 | "segments": {
3 | "left": [
4 | {
5 | "function": "powerline.segments.shell.mode"
6 | },
7 | {
8 | "function": "powerline.segments.common.net.hostname",
9 | "priority": 10
10 | },
11 | {
12 | "function": "powerline.segments.common.env.user",
13 | "priority": 30
14 | },
15 | {
16 | "function": "powerline.segments.common.env.virtualenv",
17 | "priority": 50
18 | },
19 | {
20 | "function": "powerline.segments.shell.cwd",
21 | "priority": 10
22 | },
23 | {
24 | "function": "powerline.segments.shell.jobnum",
25 | "priority": 20
26 | }
27 | ],
28 | "right": [
29 | {
30 | "function": "powerline.segments.shell.last_pipe_status",
31 | "priority": 10
32 | },
33 | {
34 | "function": "powerline.segments.common.vcs.branch",
35 | "priority": 40
36 | }
37 | ]
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/dotfiles/config/powerline/themes/tmux/default.json:
--------------------------------------------------------------------------------
1 | {
2 | "default_module": "powerline.segments.common",
3 | "segment_data": {
4 | "uptime": {
5 | "before": "⇑ "
6 | },
7 | "date": {
8 | "before": "⌚ "
9 | }
10 | },
11 | "segments": {
12 | "right": [
13 | {
14 | "function": "powerline.segments.common.sys.system_load",
15 | "priority": 50
16 | },
17 | {
18 | "function": "powerline.segments.common.sys.uptime",
19 | "priority": 50
20 | },
21 | {
22 | "function": "powerline.segments.common.time.date",
23 | "args": {
24 | "format": "%H:%M",
25 | "istime": true
26 | }
27 | },
28 | {
29 | "function": "powerline.segments.common.net.external_ip"
30 | },
31 | {
32 | "function": "powerline.segments.common.net.hostname"
33 | }
34 | ],
35 | "special": [
36 | {
37 | "function": "powerline.segments.tmux.window_status",
38 | "type": "string",
39 | "contnets": "#I"
40 | }
41 | ]
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/dotfiles/config/pulseaudio-ctl/config:
--------------------------------------------------------------------------------
1 | #
2 | # $HOME/.config/pulseaudio-ctl/config
3 | #
4 |
5 | # The default setting is for pulseaudio-ctl to NOT increase to volume level
6 | # above 100 % but Some users may wish exceed this level. If this describes
7 | # your use case, uncomment the UPPER_THRESHOLD variable below setting it to
8 | # the new upper threshold.
9 | #
10 | #UPPER_THRESHOLD=150
11 |
12 | # Push output through libnotify. Set to any value to enable this feature
13 | # and note that you must have /usr/bin/notify-send to use this. On Arch
14 | # libnotify provides this. Other distros may not name it as such.
15 | #
16 | #NOTIFY=yes
17 |
18 | # Show a graphical progress-bar type visualization of the volume level in
19 | # libnotify. No setting or commented out will show a simply percentage but
20 | # a setting will convert the percentage to a progress-bar in libnotify.
21 | #
22 | #BARCHART=yes
23 |
24 | # Use KDE OSD notification. Set to any value to enable this feature.
25 | #KDE_OSD=yes
26 |
--------------------------------------------------------------------------------
/dotfiles/config/rofi-pass/config:
--------------------------------------------------------------------------------
1 | default_user='IvanMalison@gmail.com'
2 | action_menu="Alt+1"
3 | autotype="Alt+a"
4 | type_pass="Alt+p"
5 | copy_pass="Alt+2"
6 | type_user="Alt+u"
7 | copy_name="Alt+0"
8 | help_color="#4872FF"
9 |
--------------------------------------------------------------------------------
/dotfiles/config/rofi/colorful/colors.rasi:
--------------------------------------------------------------------------------
1 | /* colors */
2 |
3 | * {
4 | al: #00000000;
5 | bg: #000000ff;
6 | se: #101010ff;
7 | fg: #FFFFFFff;
8 | ac: #EC7875ff;
9 | }
10 |
--------------------------------------------------------------------------------
/dotfiles/config/rofi/colorful/launcher.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | ## Author : Aditya Shakya
4 | ## Mail : adi1090x@gmail.com
5 | ## Github : @adi1090x
6 | ## Twitter : @adi1090x
7 |
8 | # Available Styles
9 | # >> Created and tested on : rofi 1.6.0-1
10 | #
11 | # style_1 style_2 style_3 style_4 style_5 style_6
12 | # style_7 style_8 style_9 style_10 style_11 style_12
13 |
14 | theme="style_1"
15 | dir="$HOME/.config/rofi/launchers/colorful"
16 |
17 | # dark
18 | ALPHA="#00000000"
19 | BG="#000000ff"
20 | FG="#FFFFFFff"
21 | SELECT="#101010ff"
22 |
23 | # light
24 | #ALPHA="#00000000"
25 | #BG="#FFFFFFff"
26 | #FG="#000000ff"
27 | #SELECT="#f3f3f3ff"
28 |
29 | # accent colors
30 | COLORS=('#EC7875' '#61C766' '#FDD835' '#42A5F5' '#BA68C8' '#4DD0E1' '#00B19F' \
31 | '#FBC02D' '#E57C46' '#AC8476' '#6D8895' '#EC407A' '#B9C244' '#6C77BB')
32 | ACCENT="${COLORS[$(( $RANDOM % 14 ))]}ff"
33 |
34 | # overwrite colors file
35 | cat > $dir/colors.rasi <<- EOF
36 | /* colors */
37 |
38 | * {
39 | al: $ALPHA;
40 | bg: $BG;
41 | se: $SELECT;
42 | fg: $FG;
43 | ac: $ACCENT;
44 | }
45 | EOF
46 |
47 | # comment these lines to disable random style
48 | themes=($(ls -p --hide="launcher.sh" --hide="colors.rasi" $dir))
49 | theme="${themes[$(( $RANDOM % 12 ))]}"
50 |
51 | rofi -no-lazy-grab -show drun -modi drun -theme $dir/"$theme"
52 |
--------------------------------------------------------------------------------
/dotfiles/config/rofi/config.rasi:
--------------------------------------------------------------------------------
1 | configuration {
2 | bw: 0;
3 | padding: 50;
4 | show-icons: true;
5 | terminal: "alacritty";
6 | sidebar-mode: false;
7 | fullscreen: true;
8 | dpi: 100;
9 | }
10 |
11 | @theme "colorful/style_7.rasi"
12 |
--------------------------------------------------------------------------------
/dotfiles/config/rofi/white.rasi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/dotfiles/config/rofi/white.rasi
--------------------------------------------------------------------------------
/dotfiles/config/screencloud/ScreenCloud.conf:
--------------------------------------------------------------------------------
1 | [General]
2 | config-version=1.1
3 | first-run=false
4 |
5 | [account]
6 | email=IvanMalison@gmail.com
7 | logged-in=true
8 | token=
9 | token-secret=d3f4ef69df4242e9b10ca034b28f6831
10 |
11 | [hotkeys]
12 | captureFullScreen=Shift+Alt+1
13 | captureSelection=Shift+Alt+2
14 | captureWindow=Shift+Alt+3
15 |
16 | [main]
17 | capture-window-borders=false
18 | current-uploader=imgur
19 | delay=100
20 | format=png
21 | jpeg-quality=90
22 | run-on-startup=true
23 | show-notifications=true
24 | show-save-dialog=true
25 | sound=true
26 |
27 | [network]
28 | proxy-req-auth=false
29 |
30 | [updates]
31 | check-updates-automatically=true
32 |
33 | [uploaders]
34 | imgur\access-token=bcea050c708998597610f22a20c2121afa4cfad9
35 | imgur\anonymous=false
36 | imgur\copy-direct-link=false
37 | imgur\copy-link=true
38 | imgur\name-format=Screenshot at %H:%M:%S
39 | imgur\refresh-token=9890577aa0486ecb5ddc5a04cf9ceb0228e91b26
40 | imgur\username=
41 |
--------------------------------------------------------------------------------
/dotfiles/config/skippy-xd/skippy-xd.rc:
--------------------------------------------------------------------------------
1 | [general]
2 | showAllDesktops = true
3 | showMinimized = true
4 | switchDesktopOnActivate = true
5 | showIconsOnThumbnails = false
6 |
--------------------------------------------------------------------------------
/dotfiles/config/sparkleshare/2015-11-20_19h52.key.pub:
--------------------------------------------------------------------------------
1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDK766fKJbtRNuvK00nzFC6wtyrtiFjfM3glgqYn4rH7mIWoLhrIVihWuagAZbYOGNvVGnqOmjqtn4NLBfyZvonzz4NAvgcUkBTB3Z+fD+vtKi9nSySsFm7HAyn9kL75dQoTyqaLkLXl3Hxw8eZQyLia++ukAMDFgNQIK+Prc4v8Cm4SWrpIUpLt2P/hqI2s8V3TXdKLPeBFkqYvP4kqRC6UiCIy7HnhV8IFB3sKBRvRfir2HdVd23qWQClR16yiTZBiHVhUrATO8gxJO5y9RUR6mPwaHmtWoei4YUu9pEhGHvXaGjzDK/Ul2xl67shbLg7q88A/ncUkS829AbqIIpP ivan-mbp
2 |
--------------------------------------------------------------------------------
/dotfiles/config/sparkleshare/config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Ivan Malison
5 | IvanMalison@gmail.com
6 |
7 | True
8 |
9 | org
10 | a6a8820b6d7b59f782ea6b9995b6b3b141877498
11 | ssh://git@bitbucket.org/ivanmalison/org.git
12 | Git
13 |
14 |
15 | config
16 | 66e07b6027eecec90670e4b608dcd6ec7d51f5d9
17 | ssh://git@bitbucket.org/ivanmalison/config
18 | Git
19 |
20 |
--------------------------------------------------------------------------------
/dotfiles/config/starship.toml:
--------------------------------------------------------------------------------
1 | add_newline = false
2 | [character]
3 | success_symbol = "[➜](bold green)"
4 | error_symbol = "[➜](bold red)"
5 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/.envrc:
--------------------------------------------------------------------------------
1 | use flake . --impure
2 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/README.org:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/dotfiles/config/taffybar/README.org
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/cabal.project:
--------------------------------------------------------------------------------
1 | packages: . taffybar/
2 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/flake.nix:
--------------------------------------------------------------------------------
1 | {
2 | inputs = {
3 | flake-utils.url = github:numtide/flake-utils;
4 | xmonad.url = github:xmonad/xmonad/master;
5 | taffybar.url = "github:taffybar/taffybar";
6 | };
7 | outputs = { self, flake-utils, taffybar, nixpkgs, xmonad }:
8 | let
9 | hoverlay = final: prev: hself: hsuper: {
10 | taffybar = hsuper.taffybar.overrideAttrs (old: {
11 | doHaddock = false;
12 | });
13 | imalison-taffybar = prev.haskell.lib.addPkgconfigDepends (
14 | hself.callCabal2nix "imalison-taffybar"
15 | (
16 | final.lib.sourceByRegex ./.
17 | ["taffybar.hs" "imalison-taffybar.cabal"]
18 | )
19 | { }) [
20 | final.util-linux.dev
21 | final.pcre2
22 | final.pcre
23 | final.libselinux.dev
24 | final.libsepol.dev
25 | final.fribidi.out
26 | final.fribidi.dev
27 | final.libthai.dev
28 | final.libdatrie.dev
29 | final.xorg.libXdmcp.dev
30 | final.libxkbcommon.dev
31 | final.libepoxy.dev
32 | final.xorg.libXtst.out
33 | ];
34 | };
35 | defComp = { compiler = "ghc94"; };
36 | overlay = xmonad.lib.fromHOL hoverlay defComp;
37 | overlays = [ taffybar.overlay overlay ];
38 | in flake-utils.lib.eachDefaultSystem (system:
39 | let pkgs = import nixpkgs { inherit system overlays; config.allowBroken = true; };
40 | hpkgs = pkgs.lib.attrsets.getAttrFromPath (xmonad.lib.hpath defComp) pkgs;
41 | in
42 | rec {
43 | devShell = hpkgs.shellFor {
44 | packages = p: [ p.imalison-taffybar p.taffybar ];
45 | nativeBuildInputs = with hpkgs; [
46 | cabal-install
47 | # ghcid ormolu implicit-hie haskell-language-server hlint
48 | ];
49 | };
50 | defaultPackage = hpkgs.imalison-taffybar;
51 | }) // { inherit overlay overlays; } ;
52 | }
53 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/gotham.css:
--------------------------------------------------------------------------------
1 | @define-color base0 #0c1014;
2 | @define-color base1 #11151c;
3 | @define-color base2 #091f2e;
4 | @define-color base3 #0a3749;
5 | @define-color base4 #245361;
6 | @define-color base5 #599cab;
7 | @define-color base6 #99d1ce;
8 | @define-color base7 #d3ebe9;
9 | @define-color red #c23127;
10 | @define-color orange #d26937;
11 | @define-color yellow #edb443;
12 | @define-color magenta #888ca6;
13 | @define-color violet #4e5166;
14 | @define-color blue #195466;
15 | @define-color cyan #33859e;
16 | @define-color green #2aa889;
17 |
18 | @define-color active-window-color @white;
19 | @define-color urgent-window-color @taffy-blue;
20 | @define-color font-color @white;
21 | @define-color menu-background-color @white;
22 | @define-color menu-font-color @black;
23 | @define-color bar-background rgba(11, 11, 10, 0.6);
24 | @define-color accent @red;
25 | @define-color menu-highlight @magenta;
26 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/imalison-taffybar.cabal:
--------------------------------------------------------------------------------
1 | name: imalison-taffybar
2 | version: 0.1.0.0
3 | homepage: https://github.com/IvanMalison/dotfiles/tree/master/dotfiles/config/taffybar
4 | license: BSD3
5 | author: Ivan Malison
6 | maintainer: IvanMalison@gmail.com
7 | copyright: Ivan Malison
8 | category: Web
9 | build-type: Simple
10 | extra-source-files: README.org
11 | cabal-version: >=1.10
12 |
13 | executable taffybar
14 | hs-source-dirs: .
15 | main-is: taffybar.hs
16 | ghc-options: -threaded -rtsopts -with-rtsopts=-N
17 | ghc-prof-options: -fprof-auto
18 | build-depends: base
19 | , X11
20 | , bytestring
21 | , containers
22 | , directory
23 | , filepath
24 | , gi-gtk
25 | , gtk-sni-tray
26 | , gtk-strut
27 | , haskell-gi-base
28 | , hostname
29 | , hslogger
30 | , process
31 | , split
32 | , text
33 | , time
34 | , taffybar>=3.2.0
35 | , transformers
36 | , xdg-basedir
37 | default-language: Haskell2010
38 |
39 | source-repository head
40 | type: git
41 | location: https://github.com/IvanMalison/dotfiles
42 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/profile.nix:
--------------------------------------------------------------------------------
1 | let
2 | pkgs = (import ./base.nix);
3 | profiledHaskellPackages = pkgs.haskellPackages.override (old: {
4 | overrides = pkgs.lib.composeExtensions (old.overrides or (_: _: {})) (self: super: {
5 | mkDerivation = args: super.mkDerivation (args // {
6 | enableLibraryProfiling = true;
7 | });
8 | });
9 | });
10 | in pkgs.haskellPackages.shellFor {
11 | packages = p: [
12 | (pkgs.haskell.lib.doBenchmark p.imalison-taffybar)
13 | (pkgs.haskell.lib.doBenchmark p.taffybar)
14 | ];
15 | }
16 |
--------------------------------------------------------------------------------
/dotfiles/config/taffybar/stack.yaml:
--------------------------------------------------------------------------------
1 | flags: {}
2 | extra-package-dbs: []
3 | packages:
4 | - .
5 | - location: ./taffybar
6 | extra-dep: true
7 | - location: ../xmonad/xmonad-contrib
8 | extra-dep: true
9 | - location: ../xmonad/xmonad
10 | extra-dep: true
11 | # - location: ../../../../Projects/status-notifier-item
12 | # extra-dep: true
13 | # - location: ../../../../Projects/gtk-sni-tray
14 | # extra-dep: true
15 | extra-deps:
16 | - ConfigFile-1.1.4
17 | - broadcast-chan-0.2.0.2
18 | - dbus-hslogger-0.1.0.1
19 | - gi-cairo-connector-0.0.1
20 | - gi-cairo-render-0.0.1
21 | - gi-dbusmenu-0.4.6
22 | - gi-dbusmenugtk3-0.4.7
23 | - gi-gdkx11-3.0.8
24 | - gi-xlib-2.0.7
25 | - gtk-sni-tray-0.1.6.0
26 | - gtk-strut-0.1.3.0
27 | - haskell-gi-0.22.6
28 | - rate-limit-1.4.1
29 | - status-notifier-item-0.3.0.3
30 | - time-units-1.0.0
31 | - xml-helpers-1.0.0
32 | resolver: nightly-2019-06-19
33 | allow-newer: true
34 | nix:
35 | packages:
36 | - cairo
37 | - gcc
38 | - gnome2.pango
39 | - gobjectIntrospection
40 | - gtk3
41 | - hicolor-icon-theme
42 | - libdbusmenu-glib
43 | - libdbusmenu-gtk3
44 | - libxml2
45 | - numix-icon-theme-circle
46 | - pkgconfig
47 | - x11
48 | - xorg.libX11
49 | - xorg.libXext
50 | - xorg.libXinerama
51 | - xorg.libXrandr
52 | - xorg.libXrender
53 | - zlib
54 |
--------------------------------------------------------------------------------
/dotfiles/config/terminator/config:
--------------------------------------------------------------------------------
1 | [global_config]
2 | [keybindings]
3 | new_tab = t
4 | move_tab_right = Escape
5 | next_tab = f
6 | move_tab_left = Escape
7 | prev_tab = b
8 | [profiles]
9 | [[default]]
10 | palette = "#073642:#dc322f:#859900:#b58900:#268bd2:#d33682:#2aa198:#eee8d5:#002b36:#cb4b16:#586e75:#657b83:#839496:#6c71c4:#93a1a1:#fdf6e3"
11 | background_image = None
12 | use_system_font = False
13 | foreground_color = "#839496"
14 | font = Monaco for Powerline 8
15 | background_color = "#002b36"
16 | [layouts]
17 | [[default]]
18 | [[[child1]]]
19 | type = Terminal
20 | parent = window0
21 | [[[window0]]]
22 | type = Window
23 | parent = ""
24 | [plugins]
25 |
--------------------------------------------------------------------------------
/dotfiles/config/termite/config:
--------------------------------------------------------------------------------
1 | [options]
2 | dynamic_title = true
3 | scrollback_lines = -1
4 |
5 | [colors]
6 | # Base16 Default Dark
7 | # Author: Chris Kempson (http://chriskempson.com)
8 |
9 | foreground = #d8d8d8
10 | foreground_bold = #e8e8e8
11 | cursor = #e8e8e8
12 | background = #181818
13 |
14 | # 16 color space
15 |
16 | # Black, Gray, Silver, White
17 | color0 = #181818
18 | color8 = #585858
19 | color7 = #d8d8d8
20 | color15 = #f8f8f8
21 |
22 | # Red
23 | color1 = #ab4642
24 | color9 = #ab4642
25 |
26 | # Green
27 | color2 = #a1b56c
28 | color10 = #a1b56c
29 |
30 | # Yellow
31 | color3 = #f7ca88
32 | color11 = #f7ca88
33 |
34 | # Blue
35 | color4 = #7cafc2
36 | color12 = #7cafc2
37 |
38 | # Purple
39 | color5 = #ba8baf
40 | color13 = #ba8baf
41 |
42 | # Teal
43 | color6 = #86c1b9
44 | color14 = #86c1b9
45 |
46 | # Extra colors
47 | color16 = #dc9656
48 | color17 = #a16946
49 | color18 = #282828
50 | color19 = #383838
51 | color20 = #b8b8b8
52 | color21 = #e8e8e8
53 |
54 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/.gitignore:
--------------------------------------------------------------------------------
1 | /.stack-work*
2 | /dist/
3 | /imalison-xmonad
4 | /xmonad-x86_64-linux
5 | /xmonad.errors
6 | /xmonad.hi
7 | /xmonad.o
8 | /xmonad.state
9 | /prompt-history
10 | /.cached-stack-install-path
11 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/base.nix:
--------------------------------------------------------------------------------
1 | pkgs: pkgs {
2 | overlays = [
3 | (import ../taffybar/taffybar/overlay.nix)
4 | (import ./overlay.nix)
5 | ];
6 | }
7 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/build:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | SRC_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 |
5 | output_file=$1; shift
6 |
7 | cd "$SRC_DIR"
8 | nix build
9 | exe_location="$SRC_DIR/result/bin/imalison-xmonad"
10 | nix-build
11 | cp -f "$exe_location" "$output_file"
12 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/cabal.project:
--------------------------------------------------------------------------------
1 | packages: . xmonad-contrib/
2 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/flake.nix:
--------------------------------------------------------------------------------
1 | {
2 | inputs = {
3 | flake-utils.url = github:numtide/flake-utils;
4 | xmonad-contrib = {
5 | url = path:./xmonad-contrib;
6 | inputs.nixpkgs.follows = "nixpkgs";
7 | };
8 | xmonad = {
9 | url = path:./xmonad;
10 | inputs.nixpkgs.follows = "nixpkgs";
11 | };
12 | };
13 | outputs = { self, flake-utils, nixpkgs, xmonad, xmonad-contrib }:
14 | let
15 | overlay = import ./overlay.nix;
16 | overlays = [ overlay xmonad.overlay xmonad-contrib.overlay ];
17 | in flake-utils.lib.eachDefaultSystem (system:
18 | let pkgs = import nixpkgs { inherit system overlays; config.allowBroken = true; };
19 | in
20 | rec {
21 | devShell = pkgs.haskellPackages.shellFor {
22 | packages = p: [ p.imalison-xmonad p.xmonad-contrib ];
23 | buildInputs = with pkgs.haskellPackages; [
24 | cabal-install haskell-language-server hlint ghcid ormolu implicit-hie
25 | ];
26 | };
27 | defaultPackage = pkgs.haskellPackages.imalison-xmonad;
28 | }) // { inherit overlay overlays; } ;
29 | }
30 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/imalison-xmonad.cabal:
--------------------------------------------------------------------------------
1 | name: imalison-xmonad
2 | version: 0.1.0.0
3 | synopsis: Ivan Malison's xmonad configuration.
4 | homepage: https://github.com/IvanMalison/dotfiles/tree/master/dotfiles/config/xmonad
5 | license: GPL-3
6 | license-file: LICENSE
7 | author: Ivan Malison
8 | maintainer: IvanMalison@gmail.com
9 | category: System
10 | build-type: Simple
11 | cabal-version: >=1.10
12 |
13 | executable imalison-xmonad
14 | main-is: xmonad.hs
15 | build-depends: aeson>=0.11.2.1
16 | , X11>=1.8
17 | , base >=4.7
18 | , bytestring>=0.10.8.1
19 | , containers>=0.5.7.1
20 | , directory>=1.2.6.2
21 | , filepath>=1.4.1.0
22 | , hostname>=1.0
23 | , multimap>=1.2.1
24 | , process>=1.4.3.0
25 | , safe
26 | , split
27 | , xdg-desktop-entry
28 | , transformers>=0.5.2.0
29 | , tuple >= 0.3.0.2
30 | , utf8-string
31 | , xmonad-contrib
32 | , xmonad
33 | hs-source-dirs: .
34 | default-language: Haskell2010
35 |
--------------------------------------------------------------------------------
/dotfiles/config/xmonad/overlay.nix:
--------------------------------------------------------------------------------
1 | _: pkgs: rec {
2 | haskellPackages = pkgs.haskellPackages.override (old: {
3 | overrides = pkgs.lib.composeExtensions (old.overrides or (_: _: {})) (self: super: rec {
4 | imalison-xmonad = self.callCabal2nix "imalison-xmonad" (
5 | pkgs.lib.sourceByRegex ./.
6 | [
7 | "xmonad.hs" "imalison-xmonad.cabal"
8 | "PagerHints.hs" "LICENSE"
9 | ]
10 | ) { };
11 | });
12 | });
13 | }
14 |
--------------------------------------------------------------------------------
/dotfiles/dircolors:
--------------------------------------------------------------------------------
1 | LINK 35;40
2 | EXEC 01;40
--------------------------------------------------------------------------------
/dotfiles/emacs.d/.gitignore:
--------------------------------------------------------------------------------
1 | *.elc
2 | .cask
3 | .lsp-session-v1
4 | .org-id-locations
5 | .project-roots
6 | .python-environments/
7 | .smex-items
8 | .sx
9 | .tern-port
10 | .tutor
11 | /eln-cache
12 | /transient
13 | /tree-sitter
14 | README.el
15 | README.html
16 | ac-comphist.dat
17 | auto-save-list
18 | backups
19 | benchmark.el
20 | bookmarks
21 | custom-after.el
22 | custom-before.el
23 | custom.el
24 | elpa
25 | ensime
26 | eproject.lst
27 | eshell
28 | ido.last
29 | jabber-avatar-cache
30 | kat-mode.el
31 | org-caldav-*
32 | org-caldav-backup.org
33 | org-config*.el
34 | org-gcal/
35 | persp-confs/
36 | places
37 | project-to-org-filepath
38 | recentf
39 | request/
40 | semanticdb/
41 | server
42 | session.*
43 | skewer-cache
44 | smex-items
45 | speed-type/
46 | straight/
47 | this-machine.el
48 | tramp
49 | tutorial
50 | uber.el
51 | url
52 | var
53 | xkcd
54 | org-roam.db
55 | /projects
56 | /multisession
57 | gptel-crowdsourced-prompts.csv
58 | org-fc-reviews.tsv
59 | /oauth2-auto.plist
60 | /.org-generic-id-locations
61 | /persist
62 |
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/python-mode/ign:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: ign
3 | # key: ign
4 | # --
5 | # type: ignore
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/python-mode/inp:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: inp
3 | # key: inp
4 | # --
5 | import numpy as np
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/python-mode/ipdb:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: ipdb
3 | # key: ipdb
4 | # --
5 | import ipdb; ipdb.set_trace()
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/python-mode/isa:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: isa
3 | # key: isa
4 | # --
5 | import sqlalchemy as sa
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/python-mode/logg:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: logg
3 | # key: logg
4 | # --
5 | logger = logging.getLogger(__name__)
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/python-mode/noqa:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: 401
3 | # key: 401
4 | # --
5 | # noqa: F401
--------------------------------------------------------------------------------
/dotfiles/emacs.d/snippets/sh-mode/env_bang:
--------------------------------------------------------------------------------
1 | # -*- mode: snippet -*-
2 | # name: env-bang
3 | # key: env
4 | # --
5 | #!/usr/bin/env $1
6 |
7 |
--------------------------------------------------------------------------------
/dotfiles/ghci:
--------------------------------------------------------------------------------
1 | :set +c
2 |
--------------------------------------------------------------------------------
/dotfiles/gitignore:
--------------------------------------------------------------------------------
1 | # emacs
2 | .#*
3 | .emacs.desktop
4 | .emacs*
5 | projectile.cache
6 | projectile-bookmarks.eld
7 | .dir-locals.el
8 | *_flymake\.*
9 | # Org produces folders with temp files when editing source blocks.
10 | *Org Src*
11 |
12 | # Python
13 | *.pyc
14 | .ropeproject/
15 |
16 | # Clojure
17 | .cljs_rhino_repl
18 | .nrepl-port
19 | target
20 | .lein-failures
21 | pom.xml
22 |
23 | # CTags
24 | TAGS
25 |
26 | # Vim
27 | *.tmp*
28 |
29 | # JavaScript
30 | .tern-project
31 | .tern-port
32 | node_modules
33 |
34 | # Folder view configuration files
35 | .DS_Store
36 | Desktop.ini
37 |
38 | # Thumbnail cache files
39 | ._*
40 | Thumbs.db
41 |
42 | # OSX
43 | .Spotlight-V100
44 | .Trashes
45 |
46 | # Ignore output from nohup
47 | nohup.out
48 |
49 | # Haskell
50 | dist
51 | dist-*
52 | cabal-dev
53 | *.o
54 | *.hi
55 | *.chi
56 | *.chs.h
57 | *.dyn_o
58 | *.dyn_hi
59 | .hpc
60 | .hsenv
61 | .cabal-sandbox/
62 | cabal.sandbox.config
63 | *.prof
64 | *.aux
65 | *.hp
66 | *.eventlog
67 | .stack-work*/
68 | cabal.project.local
69 | .HTF/
70 |
71 | # nix
72 | /result
73 |
74 | #
75 | .direnv
76 | /dotfiles/config/gtk-3.0/settings.ini
77 |
78 | /untracked
79 |
80 | railbird-infra-*.json
81 |
--------------------------------------------------------------------------------
/dotfiles/hgignore:
--------------------------------------------------------------------------------
1 | # Use shell-style glob syntax
2 | syntax: glob
3 |
4 | # Compiled Python files
5 | *.pyc
6 |
7 | # Folder view configuration files
8 | .DS_Store
9 | Desktop.ini
10 |
11 | # Thumbnail cache files
12 | ._*
13 | Thumbs.db
14 |
15 | # Files that might appear on external disks
16 | .Spotlight-V100
17 | .Trashes
--------------------------------------------------------------------------------
/dotfiles/hindent.yaml:
--------------------------------------------------------------------------------
1 | indent-size: 2
2 | line-length: 80
3 | force-trailing-newline: false
4 |
--------------------------------------------------------------------------------
/dotfiles/hushlogin:
--------------------------------------------------------------------------------
1 | # The mere presence of this file in the home directory disables the system
2 | # copyright notice, the date and time of the last login, the message of the
3 | # day as well as other information that may otherwise appear on login.
4 | # See `man login`.
--------------------------------------------------------------------------------
/dotfiles/icons/default/index.theme:
--------------------------------------------------------------------------------
1 | [Icon Theme]
2 | Name=Default
3 | Comment=Default Cursor Theme
4 | Inherits=breeze_cursors
5 |
--------------------------------------------------------------------------------
/dotfiles/imwheelrc:
--------------------------------------------------------------------------------
1 | ".*"
2 | None, Up, Up, 4
3 | None, Down, Down, 4
4 |
--------------------------------------------------------------------------------
/dotfiles/inputrc:
--------------------------------------------------------------------------------
1 | # Make Tab autocomplete regardless of filename case
2 | set completion-ignore-case on
3 |
4 | # List all matches in case multiple possible completions are possible
5 | set show-all-if-ambiguous on
6 |
7 | # Immediately add a trailing slash when autocompleting symlinks to directories
8 | set mark-symlinked-directories on
9 |
10 | # Use the text that has already been typed as the prefix for searching through
11 | # commands (i.e. more intelligent Up/Down behavior)
12 | "\e[B": history-search-forward
13 | "\e[A": history-search-backward
14 |
15 | # Do not autocomplete hidden files unless the pattern explicitly begins with a dot
16 | set match-hidden-files off
17 |
18 | # Show all autocomplete results at once
19 | set page-completions off
20 |
21 | # If there are more than 200 possible completions for a word, ask to show them all
22 | set completion-query-items 200
23 |
24 | # Show extra file information when completing, like `ls -F` does
25 | set visible-stats on
26 |
27 | # Be more intelligent when autocompleting by also looking at the text after
28 | # the cursor. For example, when the current line is "cd ~/src/mozil", and
29 | # the cursor is on the "z", pressing Tab will not autocomplete it to "cd
30 | # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the
31 | # Readline used by Bash 4.)
32 | set skip-completed-text on
33 |
34 | # Allow UTF-8 input and output, instead of showing stuff like $'\0123\0456'
35 | set input-meta on
36 | set output-meta on
37 | set convert-meta off
38 |
39 | # Use Alt/Meta + Delete to delete the preceding word
40 | "\e[3;3~": kill-word
--------------------------------------------------------------------------------
/dotfiles/lein/profile.clj:
--------------------------------------------------------------------------------
1 | {:repl {:plugins [[cider/cider-nrepl "0.15.1"]]}}
2 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/brightness.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | volnoti-show $(sudo brightness_manager.py -c "$@" -p)
4 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/clipit_history.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | from __future__ import print_function
3 | import appdirs
4 | import argparse
5 | import os
6 | import struct
7 |
8 |
9 | clipit_history_file = os.path.join(
10 | appdirs.user_data_dir(), "clipit/history",
11 | )
12 |
13 |
14 | def get_clipit_history(filename):
15 | with open(filename, 'rb') as f:
16 | f.read(68)
17 | size, _ = struct.unpack('2i', f.read(8))
18 | while (size > 0):
19 | item = f.read(size)
20 | if item:
21 | yield item.decode('utf-8')
22 | _, _, _, size, _ = struct.unpack('5i', f.read(20))
23 |
24 |
25 | if __name__ == '__main__':
26 | parser = argparse.ArgumentParser(description='Lookup clipit history')
27 | parser.add_argument(
28 | '--separator', '-s',
29 | help='the separator to use when outputting history',
30 | type=str,
31 | default='\n',
32 | )
33 | parser.add_argument(
34 | '--begin-index', '-b',
35 | type=int,
36 | default=0
37 | )
38 | parser.add_argument(
39 | '--end-index', '-e',
40 | type=int,
41 | default=None
42 | )
43 | parser.add_argument(
44 | '--index', '-i',
45 | type=int,
46 | default=None
47 | )
48 | parser.add_argument(
49 | '--separator-replacement', '-r',
50 | type=str,
51 | default=None
52 | )
53 | args = parser.parse_args()
54 | if not args.separator_replacement:
55 | args.separator_replacement = args.separator
56 | history = list(get_clipit_history(clipit_history_file))
57 | if args.index is not None:
58 | text = history[args.index]
59 | else:
60 | selected = history[args.begin_index:args.end_index]
61 | text = args.separator.join([s.replace(args.separator, args.separator_replacement)
62 | for s in selected])
63 | print(text, end='')
64 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/get_sink_input_info.hs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env runhaskell
2 | {-# LANGUAGE FlexibleContexts, AllowAmbiguousTypes #-}
3 |
4 | import Control.Monad
5 | import Data.Aeson
6 | import qualified Data.ByteString as B
7 | import qualified Data.Text.Lazy.IO as T
8 | import qualified Data.Text.Lazy.Encoding as T
9 | import Data.List
10 | import Data.List.Split
11 | import Data.Maybe
12 | import qualified Data.Map as M
13 | import Data.Text (unpack)
14 | import System.Process
15 | import Text.Printf
16 | import Text.Regex.Posix
17 | import System.Exit
18 |
19 | main :: IO ()
20 | main = do
21 | out <- getSinkText
22 | let sinkTexts = splitOn "\nSink " out
23 | getMatches txt regex = getAllTextMatches $ txt =~ regex :: [String]
24 | getPair regex txt = frth $ (txt =~ regex :: (String, String, String, [String]))
25 | frth (_,_,_,a:b:_) = (map dotToUnderscore a, b)
26 | dotToUnderscore '.' = '_'
27 | dotToUnderscore c = c
28 | getPairs txt regex = map (getPair regex) $ getMatches txt regex
29 | getSinkMap' txt = M.union (M.fromList $ getPairs txt propertyRegex)
30 | (M.fromList $ getPairs txt fieldRegex)
31 | getSinkMap txt = M.insert "sink_input_id" (getSinkNumber txt) $ getSinkMap' txt
32 | getSinkNumber txt = case txt =~ "Input #([0-9]*)" :: (String, String, String, [String]) of
33 | (_,_,_,a) -> head a
34 | mapM_ (T.putStrLn . T.decodeUtf8 . encode . getSinkMap) sinkTexts
35 | where getSinkText = do
36 | (_, txt, _) <- readCreateProcessWithExitCode (shell "pactl list sink-inputs") ""
37 | return txt
38 | propertyRegex = "^[\t\n ]+([^\n:]*) = \"([^\n]*)\""
39 | fieldRegex = "^[\t\n ]+(.*?): ([^\n ]*)"
40 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/imalison-global.cabal:
--------------------------------------------------------------------------------
1 | name: imalison-global
2 | version: 0.1.0.0
3 | cabal-version: >=1.10
4 |
5 | library
6 | hs-source-dirs: .
7 | build-depends: base >= 4.7 && < 5
8 | , split
9 | , text
10 | , bifunctors
11 | , containers
12 | , regex-compat
13 | , Stack
14 | default-language: Haskell2010
15 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/pager.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function pager {
4 | if environment_variable_exists INSIDE_EMACS; then
5 | emacsclient -n "$@"
6 | else
7 | less -FXr
8 | fi
9 | return 0
10 | }
11 |
12 | pager "$@"
13 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/quill_from_seed.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | encrypted_seed_file="$1"
4 |
5 | shift
6 |
7 | gpg --decrypt "$encrypted_seed_file" 2>/dev/null | keysmith private-key -f - -o - | quill --pem-file - "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/random_choice.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | import sys
3 |
4 | import random
5 | print(sys.argv[1:])
6 | print(random.choice(sys.argv[1:]))
7 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/rofi_autorandr.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | autorandr 2>&1 | rofi -dmenu -i | get_cols 1 | xargs autorandr -l
4 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/rofi_clipit.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | SELECTED_INDEX="$(clipit_history.py -r '(newline)' | rofi -dmenu -format i)"
4 |
5 | if [ "$SELECTED_INDEX" -eq "$SELECTED_INDEX" ] 2>/dev/null; then
6 | xdotool type "$(clipit_history.py -e 5 -i $SELECTED_INDEX)"
7 | fi
8 |
9 | xdotool type
10 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/rofi_command.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | get_all_executables () {
4 | for exec_path in $path; do
5 | test -r "$exec_path" && \
6 | find "$exec_path" -maxdepth 1 -executable ! -type d -printf "%f\n"
7 | done
8 | }
9 |
10 | get_all_functions () {
11 | print -l ${(ok)functions}
12 | }
13 |
14 | get_all_aliases () {
15 | alias | cut -d = -f 1
16 | }
17 |
18 | get_all_history () {
19 | cat ~/.zsh_history | cut -d ';' -f 2- | awk '!a[$0]++'
20 | }
21 |
22 |
23 | selected=$({ get_all_executables; get_all_aliases; get_all_functions; get_all_history; } |
24 | rofi -dmenu -i -kb-custom-1 "Alt+c" -kb-custom-2 "Alt+t")
25 |
26 | rofi_exit="$?"
27 | args=""
28 | case "$rofi_exit" in
29 | 1)
30 | exit
31 | ;;
32 | 10)
33 | args=$(echo "" | rofi -dmenu)
34 | ;;
35 | 11)
36 | urxvt --hold -e "$selected"
37 | ;;
38 | esac
39 | eval "$selected $args"
40 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/rofi_kill_all.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 |
4 | echo "" | rofi -dmenu -i | xargs pkill -9
5 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/rofi_kill_process.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | ps -o 'pid cmd' x | rofi -dmenu -i | get_cols 1 | xargs kill -9
4 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/rofi_select_input.hs:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env run_haskell_stack.sh
2 | {-# LANGUAGE OverloadedStrings, AllowAmbiguousTypes #-}
3 |
4 | import Control.Monad
5 | import Data.List
6 | import Data.List.Split
7 | import Data.Maybe
8 | import System.Process
9 | import Text.Printf
10 | import Text.Regex
11 | import System.Exit
12 |
13 | main :: IO ()
14 | main = do
15 | out <- getSinkText
16 | let sinkInfos = splitOn "\nSink" out
17 | matches = catMaybes $ matchRegex sinkRegex <$> sinkInfos
18 | entries = map buildEntry matches
19 | (exitCode, selection, _) <-
20 | readCreateProcessWithExitCode
21 | (shell "rofi -dmenu -i -kb-custom-1 'Alt-o'") $ intercalate "\n" entries
22 | let selectedSink = head $ splitOn " " selection
23 | unMuteSelected = setMuteAction "0" selectedSink
24 | selectedIsMuted =
25 | maybe True (isMuted . (!! 1)) $ find ((== selectedSink) . head) matches
26 | setAll state = mapM_ (setMuteAction state . head) matches
27 | case exitCode of
28 | ExitSuccess ->
29 | void $ setMuteAction (toSetString selectedIsMuted) selectedSink
30 | ExitFailure 10 ->
31 | do
32 | setAll "1"
33 | void unMuteSelected
34 | ExitFailure _ -> setAll "0"
35 | where getSinkText =
36 | do
37 | (_, txt, _) <- readCreateProcessWithExitCode
38 | (shell "pactl list sink-inputs") ""
39 | return txt
40 | sinkRegex =
41 | mkRegexWithOpts
42 | "Input .([0-9]*).*?Mute: ([^\n]*).*?application.name =([^\n]*)"
43 | False True
44 | buildEntry (num:status:name:_) =
45 | printf "%s - %s%s" num (trim $ noQuotes name) (muteString status)
46 | buildEntry _ = ""
47 | setMuteAction status sink = callCommand $ setMuteCommand status sink
48 | setMuteCommand status sink =
49 | "pactl set-sink-input-mute " ++ sink ++ " " ++ status
50 | trim = dropWhileEnd (== ' ') . dropWhile (== ' ')
51 | isMuted = (== "yes")
52 | muteString status =
53 | if isMuted status then " (Muted)" else "" :: String
54 | noQuotes = filter (not . (`elem` ("\"" :: String)))
55 | toSetString True = "0"
56 | toSetString False = "1"
57 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/stack.yaml:
--------------------------------------------------------------------------------
1 | resolver: lts-11.7
2 | packages:
3 | - .
4 | extra-deps:
5 | - Stack-0.3.2
6 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/toggle_mute_current_window.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | otherinputs () {
4 | get_sink_input_info.hs | jq 'select(.application_process_id != "'"$1"'")'
5 | }
6 |
7 | thePID="$(xprop _NET_WM_PID -id $(xdotool getactivewindow) | grep -Eo '[0-9]*')"
8 | sinkInfo="$(pashowinputbypid $thePID)"
9 | sinkID="$(echo $sinkInfo | jq -r .sink_input_id)"
10 | muted="$(echo $sinkInfo | jq -r .Mute)"
11 | if [[ $muted == *"no"* ]]; then
12 | newState="1"
13 | else
14 | newState="0"
15 | fi
16 |
17 | echo "$sinkID"
18 |
19 | if [[ $1 == *"only"* ]]; then
20 | pactl set-sink-input-mute "$sinkID" 0
21 | otherinputs "$thePID" | jq -r .sink_input_id | xargs -I theid sh -c 'pactl set-sink-input-mute theid 1'
22 | else
23 | pactl set-sink-input-mute "$sinkID" "$newState"
24 | fi
25 |
--------------------------------------------------------------------------------
/dotfiles/lib/bin/windows-toast.ps1:
--------------------------------------------------------------------------------
1 | param($Title)
2 | $ErrorActionPreference = "Stop"
3 | [Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
4 | $Template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
5 |
6 | $RawXml = [xml] $Template.GetXml()
7 | ($RawXml.toast.visual.binding.text | Where-Object { $_.id -eq "1" }).AppendChild($RawXml.CreateTextNode($Title)) > $null
8 | ($RawXml.toast.visual.binding.text | Where-Object { $_.id -eq "2" }).AppendChild($RawXml.CreateTextNode($args[0])) > $null
9 |
10 | $SerializedXml = New-Object Windows.Data.Xml.Dom.XmlDocument
11 | $SerializedXml.LoadXml($RawXml.OuterXml)
12 |
13 | $Toast = [Windows.UI.Notifications.ToastNotification]::new($SerializedXml)
14 | $Toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(30)
15 |
16 | $Notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Emacs")
17 | $Notifier.Show($Toast);
18 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/add_to_path:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function add_to_path {
4 | path_lines "$2" | { cat -; echo "$1" } | path_from_lines
5 | }
6 |
7 | add_to_path "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/all_after_char:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function all_after_char {
4 | while read -r line; do
5 | echo ${line##*$1}
6 | done;
7 | }
8 |
9 | all_after_char "$@"
10 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/ballchasing_lookup:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function ballchasing_lookup {
4 | xdg-open "https://ballchasing.com/replay/$(rofi -dmenu)"
5 | }
6 |
7 | ballchasing_lookup
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/command_exists:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function command_exists {
4 | hash "$1" 2>/dev/null 1>/dev/null
5 | }
6 |
7 | command_exists
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/dbus_introspect:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function dbus-introspect {
4 | dbus-send --session \
5 | --dest=$1 \
6 | --type=method_call \
7 | --print-reply \
8 | $2 \
9 | org.freedesktop.DBus.Introspectable.Introspect | tail -n +2 | sed -e "s/^ *string//"
10 | }
11 |
12 | dbus-introspect "$@"
13 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/environment_variable_exists:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function environment_variable_exists {
4 | eval "value=\"\${$1+x}\""
5 | [ ! -z $value ]
6 | }
7 |
8 | environment_variable_exists "$@"
9 |
10 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/externalip:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function externalip {
4 | curl -s ifconfig.co
5 | }
6 |
7 | externalip
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/find_store_path_gc_roots:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function find_store_path_gc_roots {
4 | store_path="$(realpath $1)"
5 | while IFS=' ' read -r gcroot derivation; do
6 | if [[ ! $gcroot =~ ^/proc ]]; then
7 | if nix-store -qR "$derivation" 2>/dev/null | grep -q "$store_path"; then
8 | echo $gcroot
9 | fi
10 | fi
11 | done < <(nix-store --gc --print-roots | awk '{print $1, $3}')
12 | }
13 |
14 |
15 | find_store_path_gc_roots "$@"
16 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/get_chrome_folder_from_address:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function get_chrome_folder_from_address {
4 | cat ~/.config/google-chrome/Local\ State |
5 | jq -r ".profile.info_cache | to_entries | .[] | select(.value.user_name == \"$1\") | .key"
6 | }
7 |
8 | get_chrome_folder_from_address "$@"
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/get_cols:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function get_cols {
4 | FS="${FS:- }"
5 | gawk -f "$HOME/.lib/get_cols.awk" -v "cols=$*" -v "FS=$FS"
6 | }
7 |
8 | get_cols "$@"
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/get_sink_input_by_pid:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function get_sink_input_by_pid {
4 | get_sink_input_info.hs | jq 'select(.application_process_id == "'"$thePID"'")'
5 | }
6 |
7 | get_sink_input_by_pid "$@"
8 |
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/join_by_char:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function join_by_char {
4 | delimiter="$1"
5 | if [ -z "$delimiter" ]; then
6 | echo "Please specify a delimiter."
7 | return 1
8 | fi
9 |
10 | while IFS= read -r line; do
11 | # Append the line to the result with the delimiter, but not for the first line
12 | if [ -z "$result" ]; then
13 | result="$line"
14 | else
15 | result="$result$delimiter$line"
16 | fi
17 | done
18 |
19 | echo "$result"
20 | }
21 |
22 | join_by_char "$@"
23 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/list_interfaces:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | function list_interfaces {
4 | ip link show | grep -vE '^ ' | get_cols -F ':' 2 | xargs -n 1
5 | }
6 |
7 | list_interfaces
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/load_default_map:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function load_default_map {
4 | XKBDIR="$HOME/.xkb"
5 | XKBMAPFILE="$XKBDIR/keymap/default"
6 |
7 | echo "loading keymap from $XKBMAPFILE"
8 |
9 | xkbcomp -I"$XKBDIR" "$XKBMAPFILE" "${DISPLAY%%.*}"
10 | }
11 |
12 | load_default_map
13 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/load_xkb_map:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function load_xkb_map {
4 | XKBDIR="$HOME/.xkb"
5 | XKBMAPFILE="$XKBDIR/keymap/$(hostname --fqdn)"
6 | [[ -r "$XKBMAPFILE" ]] || XKBMAPFILE="${XKBMAPFILE%/*}/default"
7 |
8 | echo "loading keymap from $XKBMAPFILE"
9 |
10 | xkbcomp -I"$XKBDIR" "$XKBMAPFILE" "${DISPLAY%%.*}"
11 |
12 | XKB_DEVICE_DIR="$XKBDIR/devices"
13 |
14 | for file in "$XKB_DEVICE_DIR"/*
15 | do
16 | DEVICE_ID=$(xinput | grep "$(basename $file)" | head -n 1 | grep -Eo "id=[0-9]*" | grep -Eo "[0-9]*")
17 | echo $file
18 | echo device
19 | echo "$DEVICE_ID"
20 | # [ ! -z "$DEVICE_ID" ] && xkbcomp -I"$XKBDIR" -i "$DEVICE_ID" "$file" "${DISPLAY%%.*}"
21 | done
22 | }
23 |
24 | load_xkb_map
25 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/localip:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function localip {
4 | case `uname` in
5 | 'Darwin')
6 | ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
7 | ;;
8 | 'Linux')
9 | ip -4 addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | grep -v 127.0.0.1 | head -n 1
10 | ;;
11 | esac
12 | }
13 |
14 | localip
15 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/nixpkgs_source:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function nixpkgs_source {
4 | nix eval --expr '' --impure
5 | }
6 |
7 | nixpkgs_source
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/nr:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function nr {
4 | nix run nixpkgs#"$@"
5 | }
6 |
7 | nr "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/ns:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function ns {
4 | sk --ansi -i -c 'nix-search "{}"' | get_cols 1
5 | }
6 |
7 | ns "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/paismuted:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function paismuted {
4 | pactl list sinks | grep "$(pasink)" -A 10 | grep Mute | grep -q yes
5 | }
6 |
7 | paismuted
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/parse_timestamp:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function parse_timestamp {
4 | date -d "@$1"
5 | }
6 |
7 | parse_timestamp
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/pashowvolume:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function pashowvolume {
4 | if paismuted; then
5 | volnoti-show -m
6 | else
7 | actual=$(pavolume)
8 | max=100
9 | show=$(( actual < max ? actual : max ))
10 | volnoti-show "$show"
11 | fi
12 | }
13 |
14 | pashowvolume
15 |
16 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/pasink:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function pasink {
4 | pacmd stat | awk -F": " '/^Default sink name: /{print $2}'
5 | }
6 |
7 | pasink "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/path_from_lines:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function path_from_lines {
4 | join_by_char ":"
5 | }
6 |
7 | path_from_lines "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/path_lines:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env zsh
2 |
3 | function path_lines {
4 | local var="${1:-PATH}"
5 | # This is a workaround to achieve variable indirection for both Bash and Zsh
6 | eval "local value=\$$var"
7 | split_by_char ":" "$value"
8 | }
9 |
10 | path_lines "$@"
11 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/pavolume:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function pavolume {
4 | pactl get-sink-volume $(pactl get-default-sink) | FS="/" get_cols 2 | grep -oE '[0-9]*'
5 | }
6 |
7 | pavolume
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/rlwhich:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function rlwhich {
4 | readlink -f "$(which $1)"
5 | }
6 |
7 | rlwhich "$@"
8 |
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/rofi_paswitch:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function rofi_paswitch {
4 | pahelper | tr -d '\n' | tr '>' '|' | rofi -i -dmenu -sep '|' | grep -Eo ' [0-9]*' | xargs pahelper
5 | }
6 |
7 | rofi_paswitch
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/rofi_shutter:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function rofi_shutter {
4 | rofi -i -dmenu | xargs shutter -n -e
5 | }
6 |
7 | rofi_shutter
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/run_if_exists:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function run_if_exists {
4 | command_exists "$0" && "$@"
5 | }
6 |
7 | run_if_exists
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/run_unity:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function run_unity {
4 | XDG_CURRENT_DESKTOP='Unity' "$@"
5 | }
6 |
7 | run_unity "$@"
8 |
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/set_volume:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function set_volume {
4 | pulsemixer "$@"
5 | pashowvolume
6 | }
7 |
8 | set_volume "$@"
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/shell_contains:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function shell_contains () {
4 | local e
5 | for e in "${@:2}"; do
6 | [[ "$1" == *"$e"* ]] && return 0
7 | done
8 | return 1
9 | }
10 |
11 | shell_contains
12 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/source_if_exists:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function source_if_exists {
4 | test -r "$1" && source "$1"
5 | }
6 |
7 | source_if_exists
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/split_by_char:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function split_by_char {
4 | flags="-ra"
5 | environment_variable_exists ZSH_VERSION && flags="-A"
6 | IFS="$1" read $flags ADDR <<< "$2"
7 | for i in ${ADDR[@]}; do
8 | echo "$i"
9 | done
10 | }
11 |
12 | split_by_char "$@"
13 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/start_chrome_for:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function start_chrome_for {
4 | email=$1
5 | shift
6 | google-chrome-stable --profile-directory="$(get_chrome_folder_from_address "$email")" "$@"
7 | }
8 |
9 | start_chrome_for "$@"
10 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/timestamp:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function timestamp {
4 | date +%s
5 | }
6 |
7 | timestamp
8 |
9 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/toggle_taffybar:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function toggle_taffybar {
4 | dbus-send --print-reply=literal --dest=taffybar.toggle \
5 | /taffybar/toggle taffybar.toggle.toggleCurrent
6 | }
7 |
8 | toggle_taffybar
9 |
10 |
--------------------------------------------------------------------------------
/dotfiles/lib/functions/windows_toast:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | function windows_toast {
4 | powershell.exe -File ~/dotfiles/dotfiles/lib/bin/windows-toast.ps1 -Title "$@" 2>/dev/null
5 | }
6 |
7 | windows_toast "$@"
8 |
--------------------------------------------------------------------------------
/dotfiles/lib/get_cols.awk:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env gawk -f
2 |
3 | BEGIN {
4 | column_count=split(cols,column_numbers," ");
5 | }
6 | {
7 | for(i=1; i<=column_count; i++) {
8 | if(column_numbers[i] < 0)
9 | printf "%s", $(NF + 1 + column_numbers[i])
10 | else
11 | printf "%s", $column_numbers[i]
12 | printf "%s", OFS
13 | }
14 |
15 | printf "%s", ORS
16 | }
17 |
--------------------------------------------------------------------------------
/dotfiles/lib/shellenv/synergy.sh:
--------------------------------------------------------------------------------
1 | SYNERGY_CONF="$HOME/.synergy.conf"
2 |
3 | synergy_start_client_at() {
4 | ssh "$1" '[[ -z "$(pgrep synergyc)" ]] && synergyc '"$(localip | get_cols 1)"
5 | }
6 |
7 | synergy_start_server_here() {
8 | test -z "$(pgrep synergys)" && synergys --config "$SYNERGY_CONF"
9 | }
10 |
11 | synergy_init_with_client() {
12 | synergy_start_server_here
13 | synergy_start_client_at "$1"
14 | }
15 |
16 | synergy_use_ssh_connection_as_server() {
17 | local new_host_name
18 | new_host_name="$(echo "$SSH_CONNECTION" | get_cols 1)"
19 | OPTIND=1
20 | while getopts "h:" OPTCHAR; do
21 | case $OPTCHAR in
22 | h)
23 | new_host_name="$OPTARG";
24 | return
25 | ;;
26 | esac
27 | done
28 | test -z "$(synergy_pids_for_ip "$new_host_name")" && synergyc "$new_host_name"
29 | }
30 |
31 | synergy_stop_at() {
32 | pgrep synergys | xargs kill -9
33 | ssh "$1" "synergy_kill_all_local"
34 | }
35 |
36 | synergy_kill_all_local() {
37 | pgrep synergy | xargs kill -9
38 | }
39 |
40 | synergy_clear_ssh_synergy() {
41 | synergy_clear_for_ip "$(echo "$SSH_CONNECTION" | get_cols 1)"
42 | }
43 |
44 | synergy_clear_for_ip() {
45 | synergy_pids_for_ip "$1" | xargs kill -9
46 | }
47 |
48 | synergy_pids_for_ip() {
49 | pgrep synergyc | grep "$1" | get_cols 2
50 | }
51 |
--------------------------------------------------------------------------------
/dotfiles/lib/zsh/history.sh:
--------------------------------------------------------------------------------
1 | ## Command history configuration
2 | export HISTFILE="$(readlink -f $HOME/.zsh_history)"
3 | HISTSIZE=10000000
4 | SAVEHIST=10000000
5 |
6 | setopt share_history # share command history data
7 | setopt extended_history
8 | setopt inc_append_history
9 | setopt hist_expire_dups_first
10 | setopt hist_ignore_dups # ignore duplication command history list
11 | setopt hist_ignore_space
12 | setopt hist_verify
13 |
--------------------------------------------------------------------------------
/dotfiles/lib/zsh/term_support.sh:
--------------------------------------------------------------------------------
1 | #usage: title short_tab_title looooooooooooooooooooooggggggg_windows_title
2 | #http://www.faqs.org/docs/Linux-mini/Xterm-Title.html#ss3.1
3 | #Fully support screen, iterm, and probably most modern xterm and rxvt
4 | #Limited support for Apple Terminal (Terminal can't set window or tab separately)
5 | function title {
6 | if [[ "$DISABLE_AUTO_TITLE" == "true" ]] || [[ "$EMACS" == *term* ]]; then
7 | return
8 | fi
9 | if [[ "$TERM" == screen* ]]; then
10 | print -Pn "\ek$1:q\e\\" #set screen hardstatus, usually truncated at 20 chars
11 | elif [[ "$TERM" == xterm* ]] || [[ $TERM == rxvt* ]] || [[ "$TERM_PROGRAM" == "iTerm.app" ]]; then
12 | print -Pn "\e]2;$2:q\a" #set window name
13 | print -Pn "\e]1;$1:q\a" #set icon (=tab) name (will override window name on broken terminal)
14 | fi
15 | }
16 |
17 | ZSH_THEME_TERM_TAB_TITLE_IDLE="%15<..<%~%<<" #15 char left truncated PWD
18 | ZSH_THEME_TERM_TITLE_IDLE="%n@%m: %~"
19 |
20 | #Appears when you have the prompt
21 | function omz_termsupport_precmd {
22 | title $ZSH_THEME_TERM_TAB_TITLE_IDLE $ZSH_THEME_TERM_TITLE_IDLE
23 | }
24 |
25 | #Appears at the beginning of (and during) of command execution
26 | function omz_termsupport_preexec {
27 | emulate -L zsh
28 | setopt extended_glob
29 | local CMD=${1[(wr)^(*=*|sudo|ssh|rake|-*)]} #cmd name only, or if this is sudo or ssh, the next cmd
30 | title "$CMD" "%100>...>${2:gs/%/%%}%<<"
31 | }
32 |
33 | autoload -U add-zsh-hook
34 | add-zsh-hook precmd omz_termsupport_precmd
35 | add-zsh-hook preexec omz_termsupport_preexec
36 |
37 | function emacs_ansi_term_support {
38 | echo -e "\033AnSiTu" "$LOGNAME" # $LOGNAME is more portable than using whoami.
39 | echo -e "\033AnSiTc" "$(pwd)"
40 | if [ $(uname) = "SunOS" ]; then
41 | # The -f option does something else on SunOS and is not needed anyway.
42 | hostname_options="";
43 | else
44 | hostname_options="-f";
45 | fi
46 | # XXX/TODO: This disables correct setting of the current directory
47 | # when in an sshed shell when inside of emacs
48 | # echo -e "\033AnSiTh" "$(hostname $hostname_options)" # Using the -f option can #
49 | # cause problems on some OSes.
50 | }
51 |
52 | if environment_variable_exists INSIDE_EMACS; then
53 | if [[ $INSIDE_EMACS == *"term"* ]]
54 | then
55 | add-zsh-hook precmd emacs_ansi_term_support
56 | fi
57 | fi
58 |
--------------------------------------------------------------------------------
/dotfiles/notify-osd:
--------------------------------------------------------------------------------
1 | slot-allocation = dynamic
2 | bubble-expire-timeout = 5sec
3 | bubble-vertical-gap = 50px
4 | bubble-horizontal-gap = 30px
5 | bubble-corner-radius = 37px
6 | bubble-icon-size = 30px
7 | bubble-gauge-size = 6px
8 | bubble-width = 240px
9 | bubble-background-color = 131313
10 | bubble-background-opacity = 90%
11 | text-margin-size = 10px
12 | text-title-size = 100%
13 | text-title-weight = bold
14 | text-title-color = eaeaea
15 | text-title-opacity = 100%
16 | text-body-size = 90%
17 | text-body-weight = normal
18 | text-body-color = eaeaea
19 | text-body-opacity = 100%
20 | text-shadow-opacity = 100%
21 | location = 3
22 | bubble-prevent-fade = 0
23 | bubble-close-on-click = 1
24 | bubble-as-desktop-bg = 0
25 | gravity = 4
26 |
--------------------------------------------------------------------------------
/dotfiles/sbt/.gitignore:
--------------------------------------------------------------------------------
1 | /preloaded/
2 |
--------------------------------------------------------------------------------
/dotfiles/sbt/0.13/plugins/plugins.sbt:
--------------------------------------------------------------------------------
1 | resolvers += Resolver.sonatypeRepo("snapshots")
2 |
3 | addSbtPlugin("org.ensime" % "ensime-sbt" % "0.2.1")
4 |
--------------------------------------------------------------------------------
/dotfiles/sbt/1.0/plugins.sbt:
--------------------------------------------------------------------------------
1 | addSbtPlugin("org.ensime" % "sbt-ensime" % "2.5.1")
2 |
--------------------------------------------------------------------------------
/dotfiles/slate.js:
--------------------------------------------------------------------------------
1 | slate.configAll({
2 | windowHintsIgnoreHiddenWindows: false,
3 | windowHintsShowIcons: true,
4 | windowHintsSpread: true,
5 | switchShowTitles: true,
6 | windowHintsSpreadSearchHeight: 100,
7 | windowHintsSpreadSearchWidth: 100,
8 | windowHintsSpreadPadding: 40
9 | });
10 |
11 | var hint = slate.op("hint", {
12 | "characters" : "ASDFGHJKLQWERTYUIOPCVBN"
13 | });
14 |
15 | var grid = slate.op("grid", {
16 | grids: {
17 | "1920x1080": {"width": 8, "height": 6},
18 | "1440x900": {"width": 8, "height": 6}
19 | }
20 | });
21 | function quarterCorner(corner) {
22 | return slate.op("corner", {
23 | direction: corner,
24 | width: "screenSizeX/2",
25 | height: "screenSizeY/2"
26 | });
27 | }
28 |
29 | var hyper = ":ctrl;shift;alt;cmd";
30 | function hyperBindAll(mapping) {
31 | console.log(_.object(_.map(
32 | _.pairs(mapping),
33 | function(key, op) { return [key + hyper, op]; }
34 | )));
35 | return slate.bindAll(
36 | _.object(_.map(
37 | _.pairs(mapping),
38 | function(pair) { return [pair[0] + hyper, pair[1]]; }
39 | ))
40 | );
41 | }
42 |
43 | function focusApp(app) {
44 | return slate.op("focus", {"app" : app});
45 | }
46 |
47 | hyperBindAll({
48 | h: hint,
49 | // Simple Layout
50 | f: slate.op("corner", {
51 | direction: "top-left",
52 | width: "screenSizeX",
53 | height: "screenSizeY"
54 | }),
55 | q: slate.op("corner", {
56 | direction: "top-left",
57 | width: "screenSizeX/2",
58 | height: "screenSizeY"
59 | }),
60 | w: slate.op("corner", {
61 | direction: "top-right",
62 | width: "screenSizeX/2",
63 | height: "screenSizeY"
64 | }),
65 | a: quarterCorner("top-left"),
66 | s: quarterCorner("top-right"),
67 | z: quarterCorner("bottom-left"),
68 | n: slate.op("throw", {
69 | "width": "windowSizeX",
70 | "height": "windowSizeY",
71 | "screen": "next"
72 | }),
73 | x: quarterCorner("bottom-right"),
74 | // App focus
75 | e: focusApp("Emacs"),
76 | c: focusApp("Google Chrome"),
77 | t: focusApp("iTerm"),
78 | m: focusApp("Spotify"),
79 | // Slate operations
80 | r: slate.op("relaunch"),
81 | u: slate.op("undo")
82 | });
83 |
84 | slate.bindAll({"esc:cmd": hint, "space:alt": grid});
85 |
--------------------------------------------------------------------------------
/dotfiles/stalonetrayrc:
--------------------------------------------------------------------------------
1 | decorations none
2 | transparent false
3 | dockapp_mode none
4 | geometry 5x1-400+0
5 | max_geometry 5x1-325-10
6 | background "#000000"
7 | kludges force_icons_size
8 | grow_gravity NE
9 | icon_gravity NE
10 | icon_size 12
11 | sticky true
12 | #window_strut none
13 | window_type dock
14 | window_layer bottom
15 | #no_shrink false
16 | skip_taskbar true
17 |
--------------------------------------------------------------------------------
/dotfiles/synergy.conf:
--------------------------------------------------------------------------------
1 | section: screens
2 | tv:
3 | controlling:
4 | alt = meta
5 | end
6 | section: links
7 | tv:
8 | down = controlling
9 | controlling:
10 | up = tv
11 | end
12 | section: aliases
13 | tv:
14 | imalison-arch
15 | imalison-desktop
16 | imalison-home justin-bieber-creek
17 | controlling:
18 | uber-loaner
19 | imalison-mpb-arch
20 | imalison-uber-loaner
21 | Livien-MacbookAir
22 | kat-uber-loaner
23 | Dean-PC
24 | imalison-mbp
25 | strixi-minaj
26 | end
27 |
--------------------------------------------------------------------------------
/dotfiles/tmux.conf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/dotfiles/tmux.conf
--------------------------------------------------------------------------------
/dotfiles/tmux.powerline:
--------------------------------------------------------------------------------
1 | if-shell 'test -z "$POWERLINE_COMMAND"' 'if-shell "which powerline-client" "set-environment -g POWERLINE_COMMAND powerline-client" "set-environment -g POWERLINE_COMMAND powerline"'
2 | set -g status on
3 | set -g status-utf8 on
4 | set -g status-interval 2
5 | set -g status-justify left
6 | set -g status-left-length 150
7 | set -g status-right-length 150
8 | set -g status-right '#(eval $POWERLINE_COMMAND tmux right -R pane_id=`tmux display -p "#D"`)'
9 | set -g window-status-format "#[fg=white] #[fg=white,bg=black]#I #[fg=white] #[default]#W "
10 | set -g window-status-current-format "#[fg=black,bg=blue]#[fg=white,bg=blue] #I #[fg=white,bold]#W #[fg=blue,bg=black,nobold]"
11 | set-window-option -g window-status-fg white
12 | set-window-option -g window-status-activity-attr none
13 | set-window-option -g window-status-activity-fg yellow
14 |
--------------------------------------------------------------------------------
/dotfiles/wgetrc:
--------------------------------------------------------------------------------
1 | # Use the server-provided last modification date, if available
2 | timestamping = on
3 |
4 | # Do not go up in the directory structure when downloading recursively
5 | no_parent = on
6 |
7 | # Wait 60 seconds before timing out. This applies to all timeouts: DNS, connect and read. (The default read timeout is 15 minutes!)
8 | timeout = 60
9 |
10 | # Retry a few times when a download fails, but don’t overdo it. (The default is 20!)
11 | tries = 3
12 |
13 | # Retry even when the connection was refused
14 | retry_connrefused = on
15 |
16 | # Use the last component of a redirection URL for the local file name
17 | trust_server_names = on
18 |
19 | # Follow FTP links from HTML documents by default
20 | follow_ftp = on
21 |
22 | # Add a `.html` extension to `text/html` or `application/xhtml+xml` files that lack one, or a `.css` extension to `text/css` files that lack one
23 | adjust_extension = on
24 |
25 | # Use UTF-8 as the default system encoding
26 | # Disabled as it makes `wget` builds that don’t support this feature unusable.
27 | # Does anyone know how to conditionally configure a wget setting?
28 | # http://unix.stackexchange.com/q/34730/6040
29 | #local_encoding = UTF-8
30 |
31 | # Ignore `robots.txt` and ``
32 | robots = off
33 |
34 | # Print the HTTP and FTP server responses
35 | server_response = on
36 |
37 | # Disguise as IE 9 on Windows 7
38 | user_agent = Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
--------------------------------------------------------------------------------
/dotfiles/xinitrc:
--------------------------------------------------------------------------------
1 | # -*- mode: sh -*-
2 | xrdb -merge "$HOME/.Xresources"
3 |
4 | # Disable screensaver
5 | setterm -blank 0 -powersave off -powerdown 0
6 | xset s off
7 |
8 | # Increase the repeat rate
9 | xset r rate 200 30
10 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/adell:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/default:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+imalison(rwin_as_hyper)+imalison(home_as_hyper)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/ivanm-dfinity-razer:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+imalison(ins_as_dot)+imalison(del_as_slash)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/jay-lenovo:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/katboon:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/stevie-nixos:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/keymap/strixi-minaj:
--------------------------------------------------------------------------------
1 | xkb_keymap {
2 | xkb_keycodes { include "evdev+aliases(qwerty)" };
3 | xkb_types { include "complete" };
4 | xkb_compat { include "complete" };
5 | xkb_symbols { include "pc+us+inet(evdev)+altwin(swap_lalt_lwin)+imalison(ralt_as_hyper)+capslock(ctrl_modifier)" };
6 | xkb_geometry { include "pc(pc105)" };
7 | };
8 |
--------------------------------------------------------------------------------
/dotfiles/xkb/symbols/hyper:
--------------------------------------------------------------------------------
1 | partial modifier_keys
2 | xkb_symbols "rwin" {
3 | key { [ Hyper_R ] };
4 | modifier_map Mod3 { , Hyper_R };
5 | };
6 |
--------------------------------------------------------------------------------
/dotfiles/xkb/symbols/imalison:
--------------------------------------------------------------------------------
1 | partial modifier_keys
2 | xkb_symbols "rwin_as_hyper" {
3 | replace key { [ Hyper_L ] };
4 | modifier_map Mod3 { , Hyper_L, Hyper_R };
5 | };
6 |
7 | partial modifier_keys
8 | xkb_symbols "home_as_hyper" {
9 | replace key { [ Hyper_L ] };
10 | modifier_map Mod3 { , Hyper_L, Hyper_R };
11 | };
12 |
13 | partial modifier_keys
14 | xkb_symbols "ralt_as_hyper" {
15 | replace key { [ Hyper_L, Hyper_L ] };
16 | modifier_map Mod3 { , Hyper_L };
17 | };
18 |
19 | partial alphanumeric_keys
20 | xkb_symbols "ins_as_dot" {
21 | replace key { [ period, greater ] };
22 | };
23 |
24 | partial alphanumeric_keys
25 | xkb_symbols "del_as_slash" {
26 | replace key { [ slash, question ] };
27 | };
28 |
--------------------------------------------------------------------------------
/dotfiles/xsessionrc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/dotfiles/xsessionrc
--------------------------------------------------------------------------------
/dotfiles/xsettingsd:
--------------------------------------------------------------------------------
1 | Gtk/KeyThemeName "Emacs"
2 | Net/ThemeName "Arc"
3 | Xft/Hinting 1
4 | Xft/RGBA "rgb"
5 | Xft/HintStyle "hintslight"
6 | Xft/Antialias 1
7 |
--------------------------------------------------------------------------------
/dotfiles/zprofile:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dotfiles/zshenv:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/dotfiles/zshrc:
--------------------------------------------------------------------------------
1 | # This is necessary for tramp.
2 | [[ $TERM == "dumb" ]] && unsetopt zle && PS1='$ ' && return
3 |
4 | source_if_exists ~/.custom.sh
5 | source_if_exists ~/.this-machine.sh
6 |
7 | function emacs_ansi_term_support {
8 | echo -e "\033AnSiTu" "$LOGNAME" # $LOGNAME is more portable than using whoami.
9 | echo -e "\033AnSiTc" "$(pwd)"
10 | if [ $(uname) = "SunOS" ]; then
11 | # The -f option does something else on SunOS and is not needed anyway.
12 | hostname_options="";
13 | else
14 | hostname_options="-f";
15 | fi
16 | # XXX/TODO: This disables correct setting of the current directory
17 | # when in an sshed shell when inside of emacs
18 | # echo -e "\033AnSiTh" "$(hostname $hostname_options)" # Using the -f option can #
19 | # cause problems on some OSes.
20 | }
21 |
22 | if environment_variable_exists INSIDE_EMACS; then
23 | if [[ $INSIDE_EMACS == *"term"* ]]
24 | then
25 | add-zsh-hook precmd emacs_ansi_term_support
26 | fi
27 | fi
28 |
--------------------------------------------------------------------------------
/gen-gh-pages/.gitignore:
--------------------------------------------------------------------------------
1 | .cask
2 | deploy_key
3 |
--------------------------------------------------------------------------------
/gen-gh-pages/Cask:
--------------------------------------------------------------------------------
1 | (source org)
2 | (source melpa)
3 |
4 |
5 | (depends-on "s")
6 | (depends-on "use-package")
7 | (depends-on "org-plus-contrib")
8 | (depends-on "htmlize")
9 |
--------------------------------------------------------------------------------
/gen-gh-pages/compile.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | export PATH="$HOME/.cask/bin:$HOME/.evm/bin:$PATH"
4 | THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5 |
6 | TARGET=$(readlink -f "$THIS_DIR/../dotfiles/emacs.d/README.org")
7 |
8 | git clone https://github.com/rejeep/evm.git "$HOME/.evm"
9 | evm config path /tmp
10 | evm install emacs-25.1-travis --use --skip
11 | export EMACS="$(evm bin)"
12 |
13 | git clone https://github.com/cask/cask
14 | export PATH=$(pwd)/cask/bin:$PATH
15 |
16 | cask install
17 | cask exec "$EMACS" --script generate-html.el
18 |
19 | mv "$THIS_DIR/../dotfiles/emacs.d/README.html" .
20 |
21 |
--------------------------------------------------------------------------------
/gen-gh-pages/deploy.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | # This approach was adapted from https://gist.github.com/domenic/ec8b0fc8ab45f39403dd
3 |
4 | THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
5 |
6 | cd $THIS_DIR
7 |
8 | git config --global user.name "$COMMIT_AUTHOR_NAME"
9 | git config --global user.email "$COMMIT_AUTHOR_EMAIL"
10 |
11 | set -e # Exit with nonzero exit code if anything fails
12 |
13 | SOURCE_BRANCH="master"
14 | TARGET_BRANCH="gh-pages"
15 |
16 | function doCompile {
17 | ./compile.sh
18 | }
19 |
20 | # Pull requests and commits to other branches shouldn't try to deploy, just build to verify
21 | if [ "$TRAVIS_PULL_REQUEST" != "false" -o "$TRAVIS_BRANCH" != "$SOURCE_BRANCH" ]; then
22 | echo "Skipping deploy; just doing a build."
23 | doCompile
24 | exit 0
25 | fi
26 |
27 | # Save some useful information
28 | REPO=`git config remote.origin.url`
29 | SSH_REPO=${REPO/https:\/\/github.com\//git@github.com:}
30 | SHA=`git rev-parse --verify HEAD`
31 |
32 | # Run our compile script
33 | doCompile
34 |
35 | # Get the deploy key by using Travis's stored variables to decrypt deploy_key.enc
36 | ENCRYPTED_KEY_VAR="encrypted_${ENCRYPTION_LABEL}_key"
37 | ENCRYPTED_IV_VAR="encrypted_${ENCRYPTION_LABEL}_iv"
38 | ENCRYPTED_KEY=${!ENCRYPTED_KEY_VAR}
39 | ENCRYPTED_IV=${!ENCRYPTED_IV_VAR}
40 |
41 | openssl aes-256-cbc -K $ENCRYPTED_KEY -iv $ENCRYPTED_IV -in deploy_key.enc -out deploy_key -d
42 | chmod 600 deploy_key
43 | eval `ssh-agent -s`
44 | ssh-add deploy_key
45 |
46 | # Clone the existing gh-pages for this repo into out/
47 | # Create a new empty branch if gh-pages doesn't exist yet (should only happen on first deply)
48 | git clone $REPO out
49 | cd out
50 | git checkout $TARGET_BRANCH || git checkout --orphan $TARGET_BRANCH
51 |
52 | # Clean out existing contents
53 | git ls-files | xargs rm -rf
54 |
55 | mv ../README.html ./index.html
56 |
57 | # Commit the "changes", i.e. the new version.
58 | # The delta will show diffs between new and old versions.
59 | git add --all .
60 | git commit -m "Deploy to GitHub Pages: ${SHA}"
61 |
62 | git fetch origin master
63 |
64 | if [ "$(git rev-parse origin/master)" == "$SHA" ]; then
65 | git push "$SSH_REPO" "$TARGET_BRANCH"
66 | else
67 | echo "The commit this build was started for is not the one on master. Doing nothing."
68 | fi
69 |
--------------------------------------------------------------------------------
/gen-gh-pages/deploy_key.enc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/gen-gh-pages/deploy_key.enc
--------------------------------------------------------------------------------
/gen-gh-pages/generate-html.el:
--------------------------------------------------------------------------------
1 | (package-initialize)
2 |
3 | (require 'ox-html)
4 | (require 'htmlize)
5 |
6 | (defmacro do-nothing (name)
7 | `(defun ,name (&rest args) nil))
8 |
9 | (do-nothing imalison:add-to-org-agenda-files)
10 | (do-nothing imalison:disable-linum-mode)
11 |
12 | (setq emacs-dir
13 | (expand-file-name "../dotfiles/emacs.d/"
14 | (file-name-directory load-file-name)))
15 |
16 | (setq readme-src (concat emacs-dir "README.org"))
17 |
18 | (require 'use-package)
19 | (require 's)
20 | (org-babel-tangle-file readme-src)
21 |
22 | ;; This makes it so that any dependencies specified with :straight, will
23 | ;; actually just be installed with the default melpa use-package ensure logic.
24 | (defalias 'use-package-handler/:straight
25 | #'use-package-handler/:ensure)
26 | (add-to-list 'use-package-keywords :straight)
27 |
28 | (load-file (concat emacs-dir "org-config.el"))
29 |
30 | (defun export-target (target)
31 | (with-current-buffer (find-file-noselect target)
32 | (let ((org-export-headline-levels 10))
33 | (org-html-export-to-html))))
34 |
35 | (setq org-html-postamble nil)
36 | (setq org-html-htmlize-output-type 'css)
37 | (setq org-confirm-babel-evaluate nil)
38 |
39 | (defun add-faces-css (exporter)
40 | "Insert custom inline css to automatically set the
41 | background of code to whatever theme I'm using's background"
42 | (setq
43 | org-html-head-extra
44 | (concat
45 | org-html-head-extra
46 | (format "\n"
47 | (with-temp-buffer
48 | (insert-file-contents
49 | (concat (file-name-directory load-file-name) "faces.css"))
50 | (buffer-string))))))
51 |
52 | (add-hook 'org-export-before-processing-hook 'add-faces-css)
53 | (remove-hook 'org-export-before-processing-hook 'imalison:org-inline-css-hook)
54 |
55 | (message (export-target readme-src))
56 |
--------------------------------------------------------------------------------
/nix-darwin/justfile:
--------------------------------------------------------------------------------
1 | switch:
2 | nix run nix-darwin -- switch --flake .#
3 |
--------------------------------------------------------------------------------
/nixos/android.nix:
--------------------------------------------------------------------------------
1 | { pkgs, ... }:
2 | {
3 | options = {
4 | };
5 | config = {
6 | environment.systemPackages = with pkgs; [
7 | android-udev-rules
8 | ];
9 | nixpkgs.config.android_sdk.accept_license = true;
10 | programs.adb.enable = true;
11 | };
12 | }
13 |
--------------------------------------------------------------------------------
/nixos/base.nix:
--------------------------------------------------------------------------------
1 | { config, pkgs, forEachUser, makeEnable, realUsers, ... }:
2 | makeEnable config "myModules.base" true {
3 | nixpkgs.config.permittedInsecurePackages = [
4 | "electron-12.2.3"
5 | "electron-19.1.9"
6 | "electron-32.3.3"
7 | "etcher"
8 | "nix-2.16.2"
9 | "openssl-1.0.2u"
10 | "openssl-1.1.1w"
11 | ];
12 |
13 | # Disabling these waits disables the stuck on boot up issue
14 | systemd.services.systemd-udev-settle.enable = false;
15 | systemd.services.NetworkManager-wait-online.enable = false;
16 | systemd.services.systemd-user-sessions.enable = false;
17 |
18 | # Security
19 | programs.gnupg = {
20 | agent = {
21 | enable = true;
22 | enableSSHSupport = true;
23 | };
24 | };
25 | services.pcscd.enable = true;
26 |
27 | # Networking
28 | environment.etc."ipsec.secrets".text = ''
29 | include ipsec.d/ipsec.nm-l2tp.secrets
30 | '';
31 |
32 | networking.firewall.enable = false;
33 | networking.nameservers = [ "8.8.8.8" "8.8.4.4" ];
34 | networking.networkmanager = {
35 | enable = true;
36 | enableStrongSwan = true;
37 | plugins = [ pkgs.networkmanager-l2tp pkgs.networkmanager-openvpn ];
38 | };
39 | networking.resolvconf.enable = false;
40 | services.mullvad-vpn.enable = true;
41 |
42 | # Audio
43 |
44 | services.pulseaudio.enable = true;
45 | services.pipewire = {
46 | enable = false;
47 | systemWide = true;
48 | alsa.enable = true;
49 | alsa.support32Bit = true;
50 | jack.enable = true;
51 | pulse.enable = true;
52 | };
53 |
54 |
55 | # Bluetooth
56 | hardware.bluetooth.enable = true;
57 | services.blueman.enable = true;
58 |
59 | # Printing
60 | # services.printing.enable = true;
61 |
62 | # Keyboard/Keymap
63 | console.keyMap = "us";
64 |
65 | i18n = {
66 | defaultLocale = "en_US.UTF-8";
67 | };
68 |
69 | # # Update timezone automatically
70 | services.tzupdate.enable = true;
71 |
72 | # TODO: Add a comment explaining what this does.
73 | services.locate.enable = true;
74 |
75 | virtualisation.docker.enable = true;
76 |
77 | virtualisation.podman = {
78 | enable = true;
79 | autoPrune = {
80 | enable = true;
81 | };
82 | };
83 |
84 | hardware.keyboard.zsa.enable = true;
85 |
86 | services.logind.extraConfig = "RuntimeDirectorySize=5G";
87 |
88 | # For supporting gnome stuff
89 | services.dbus.packages = [ pkgs.gcr ];
90 |
91 | programs.dconf.enable = true;
92 |
93 | home-manager.users = forEachUser (import ./home-manager.nix);
94 | nix.settings.trusted-users = realUsers ++ ["gitea-runner"];
95 | }
96 |
--------------------------------------------------------------------------------
/nixos/ben.nix:
--------------------------------------------------------------------------------
1 | { pkgs, inputs, config, makeEnable, ... }:
2 | makeEnable config "myModules.ben" true {
3 | home-manager.backupFileExtension = "backup"; # Add this line
4 | home-manager.users.ben = {
5 | programs.zsh = {
6 | enable = true;
7 | shellAliases = {
8 | l = "ls -CF";
9 | la = "ls -A";
10 | ll = "ls -lh";
11 | lla = "ls -alh";
12 | ls = "ls --color=auto";
13 | gts = "git status";
14 | gtl = "git log";
15 | };
16 | };
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/nixos/bootstrap.nix:
--------------------------------------------------------------------------------
1 | { pkgs, ... }:
2 | {
3 | imports = [
4 | ./essential.nix
5 | ];
6 | environment.systemPackages = with pkgs; [
7 | emacs
8 | ];
9 | programs.zsh.enable = true;
10 | networking.firewall.enable = false;
11 | networking.networkmanager = {
12 | enable = true;
13 | extraConfig = ''
14 | [main]
15 | rc-manager=resolvconf
16 | '';
17 | };
18 | nixpkgs.config.allowUnfree = true;
19 | services.xserver = {
20 | exportConfiguration = true;
21 | enable = true;
22 | layout = "us";
23 | desktopManager = {
24 | plasma6.enable = true;
25 | };
26 | displayManager = {
27 | sddm = {
28 | enable = true;
29 | };
30 | sessionCommands = ''
31 | systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH
32 | '';
33 | setupCommands = ''
34 | autorandr -c
35 | systemctl restart autorandr.service
36 | '';
37 | };
38 | };
39 | nix = {
40 | extraOptions = ''
41 | experimental-features = nix-command flakes
42 | '';
43 | };
44 | users.users = {
45 | imalison = {
46 | extraGroups = [
47 | "audio"
48 | "adbusers"
49 | "disk"
50 | "docker"
51 | "networkmanager"
52 | "openrazer"
53 | "plugdev"
54 | "syncthing"
55 | "systemd-journal"
56 | "video"
57 | "wheel"
58 | ];
59 | group = "users";
60 | isNormalUser = true;
61 | createHome = true;
62 | shell = pkgs.zsh;
63 | };
64 | };
65 | }
66 |
--------------------------------------------------------------------------------
/nixos/cache-server.nix:
--------------------------------------------------------------------------------
1 | { config, lib, ... }:
2 | with lib;
3 | let cfg = config.myModules.cache-server;
4 | in
5 | {
6 | options = {
7 | myModules.cache-server = {
8 | enable = mkEnableOption "nix cache server";
9 | port = mkOption {
10 | type = types.int;
11 | default = 5050;
12 | };
13 | host-string = mkOption {
14 | type = types.string;
15 | default = "0.0.0.0";
16 | };
17 | path = mkOption {
18 | type = types.string;
19 | default = "/";
20 | };
21 | };
22 | };
23 |
24 | config = mkIf cfg.enable {
25 | age.secrets."cache-priv-key.pem".file = ./secrets/cache-priv-key.pem.age;
26 |
27 | services.nix-serve = {
28 | enable = true;
29 | secretKeyFile = config.age.secrets."cache-priv-key.pem".path;
30 | port = cfg.port;
31 | };
32 | };
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/nixos/cache.nix:
--------------------------------------------------------------------------------
1 | { machineNames, ... }:
2 | {
3 | # nix.settings.substituters = map (machineName: "ssh-ng://imalison@${machineName}.local") machineNames;
4 | }
5 |
6 |
--------------------------------------------------------------------------------
/nixos/code.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, ... }:
2 | makeEnable config "myModules.code" true {
3 | programs.direnv = {
4 | enable = true;
5 | nix-direnv.enable = true;
6 | };
7 |
8 | environment.systemPackages = with pkgs; [
9 | # C
10 | clang
11 |
12 | # Haskell
13 | cabal-install
14 | cabal2nix
15 | ghc
16 | haskellPackages.hpack
17 | haskellPackages.hasktags
18 | haskellPackages.hoogle
19 |
20 | # Scala
21 | sbt
22 | scala
23 |
24 | # Node
25 | nodePackages.npm
26 | nodejs
27 |
28 | # Typescript
29 | typescript
30 | nodePackages.typescript-language-server
31 |
32 | # golang
33 | go
34 |
35 | # Rust
36 | rustup
37 |
38 | # Clojure
39 | boot
40 | leiningen
41 |
42 | # Ruby
43 | ruby
44 |
45 | # python
46 | black
47 | poetry
48 | uv
49 |
50 | # kotlin
51 | kotlin
52 | kotlin-language-server
53 |
54 | # dhall
55 | haskellPackages.dhall
56 | haskellPackages.dhall-json
57 |
58 | # misc
59 | perf-tools
60 | protobuf
61 |
62 | # nix
63 | nixd
64 | nil
65 | alejandra
66 | ] ++ (if pkgs.system == "x86_64-linux" then with pkgs; [
67 | # purescript
68 | purescript
69 | # Broken
70 | # spago
71 | ] else []);
72 | }
73 |
--------------------------------------------------------------------------------
/nixos/configuration.nix:
--------------------------------------------------------------------------------
1 | { config, lib, forEachUser, ... }:
2 | {
3 | imports = [
4 | ./android.nix
5 | ./base.nix
6 | ./ben.nix
7 | ./cache-server.nix
8 | ./cache.nix
9 | ./code.nix
10 | ./desktop.nix
11 | ./electron.nix
12 | ./environment.nix
13 | ./essential.nix
14 | ./extra.nix
15 | ./games.nix
16 | ./git-sync.nix
17 | ./gitea-runner.nix
18 | ./gitea.nix
19 | ./gnome.nix
20 | ./home-assistant.nix
21 | ./imalison.nix
22 | ./internet-computer.nix
23 | ./k3s.nix
24 | ./kat.nix
25 | ./keybase.nix
26 | ./kubelet.nix
27 | ./laptop.nix
28 | ./nix.nix
29 | ./nixified.ai.nix
30 | ./nvidia.nix
31 | ./options.nix
32 | ./plasma.nix
33 | ./postgres.nix
34 | ./rabbitmq.nix
35 | ./secrets.nix
36 | ./ssh.nix
37 | ./syncthing.nix
38 | ./tts.nix
39 | ./user-specific.nix
40 | ./users.nix
41 | ./vscode.nix
42 | ./wsl.nix
43 | ./wyoming.nix
44 | ./xmonad.nix
45 | ];
46 |
47 | options = {
48 | features.full.enable = lib.mkEnableOption "Do everything";
49 | };
50 |
51 | config = lib.mkIf config.features.full.enable {
52 | myModules.base.enable = true;
53 | myModules.desktop.enable = true;
54 | myModules.plasma.enable = true;
55 | myModules.gnome.enable = false;
56 | myModules.xmonad.enable = true;
57 | myModules.extra.enable = true;
58 | myModules.electron.enable = true;
59 | myModules.code.enable = true;
60 | myModules.games.enable = true;
61 | myModules.syncthing.enable = true;
62 | myModules.fonts.enable = true;
63 | };
64 | }
65 |
--------------------------------------------------------------------------------
/nixos/desktop.nix:
--------------------------------------------------------------------------------
1 | { inputs, config, pkgs, makeEnable, ... }:
2 | makeEnable config "myModules.desktop" true {
3 | imports = [
4 | ./fonts.nix
5 | ];
6 |
7 | services.xserver = {
8 | exportConfiguration = true;
9 | enable = true;
10 | xkb = {
11 | layout = "us";
12 | };
13 | displayManager = {
14 | sessionCommands = ''
15 | systemctl --user import-environment GDK_PIXBUF_MODULE_FILE DBUS_SESSION_BUS_ADDRESS PATH
16 | '';
17 | setupCommands = ''
18 | autorandr -c
19 | systemctl restart autorandr.service
20 | '';
21 | };
22 | };
23 |
24 | services.autorandr = {
25 | enable = true;
26 | };
27 |
28 | # This is for the benefit of VSCODE running natively in wayland
29 | environment.sessionVariables.NIXOS_OZONE_WL = "1";
30 |
31 | services.gnome.at-spi2-core.enable = true;
32 |
33 | services.gnome.gnome-keyring.enable = true;
34 |
35 | environment.systemPackages = with pkgs; [
36 | # Appearance
37 | adwaita-icon-theme
38 | hicolor-icon-theme
39 | libsForQt5.breeze-gtk
40 | # materia-theme
41 | numix-icon-theme-circle
42 | papirus-icon-theme
43 |
44 | # XOrg
45 | autorandr
46 | wmctrl
47 | xclip
48 | xdotool
49 | xorg.xev
50 | xorg.xkbcomp
51 | xorg.xwininfo
52 | xsettingsd
53 |
54 | # Desktop
55 | alacritty
56 | blueman
57 | # clipit
58 | d-spy
59 | kdePackages.dolphin
60 | # inputs.ghostty.packages."${system}".default
61 |
62 | feh
63 | firefox
64 | cheese
65 | gpaste
66 | kdePackages.kleopatra
67 | libnotify
68 | libreoffice
69 | lxappearance
70 | lxqt.lxqt-powermanagement
71 | networkmanagerapplet
72 | kdePackages.okular
73 | pinentry
74 | # mission-center
75 | quassel
76 | remmina
77 | rofi
78 | rofi-pass
79 | rofi-systemd
80 | simplescreenrecorder
81 | skippy-xd
82 | synergy
83 | # TODO: reenable
84 | # transmission_3-gtk
85 | vlc
86 | # volnoti
87 | xfce.thunar
88 |
89 | # Audio
90 | picard
91 | pavucontrol
92 | playerctl
93 | pulsemixer
94 | espeak
95 |
96 | # Visualization
97 | graphviz
98 | nodePackages.mermaid-cli
99 | ] ++ (if pkgs.system == "x86_64-linux" then with pkgs; [
100 | google-chrome
101 | pommed_light
102 | slack
103 | spicetify-cli
104 | spotify
105 | tor-browser-bundle-bin
106 | vscode
107 | zulip
108 | ] else []);
109 | }
110 |
--------------------------------------------------------------------------------
/nixos/electron.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, forEachUser, ... }:
2 | makeEnable config "myModules.electron" false {
3 | environment.systemPackages = with pkgs; [
4 | element-desktop
5 | # bitwarden
6 | discord
7 | # etcher
8 | # keybase-gui
9 | zoom-us
10 | ];
11 | home-manager.users = forEachUser (if pkgs.system == "x86_64-linux" then {
12 | # systemd.user.services.bitwarden = {
13 | # Unit = {
14 | # Description = "Bitwarden";
15 | # After = [ "graphical-session-pre.target" "tray.target" ];
16 | # PartOf = [ "graphical-session.target" ];
17 | # };
18 |
19 | # Install = { WantedBy = [ "graphical-session.target" ]; };
20 |
21 | # Service = {
22 | # ExecStart = "${pkgs.bitwarden}/bin/bitwarden";
23 | # Restart = "always";
24 | # RestartSec = 3;
25 | # };
26 | # };
27 | } else {});
28 | }
29 |
--------------------------------------------------------------------------------
/nixos/emacs.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, specialArgs, ... }:
2 | {
3 | services.emacs = {
4 | enable = false;
5 | defaultEditor = true;
6 | startWithUserSession = false;
7 | socketActivation.enable = true;
8 | };
9 | }
10 |
--------------------------------------------------------------------------------
/nixos/essential.nix:
--------------------------------------------------------------------------------
1 | { pkgs, ... }:
2 | {
3 | nixpkgs.config.allowBroken = true;
4 |
5 | environment.systemPackages = with pkgs; [
6 | automake
7 | bazel
8 | bento4
9 | bind
10 | binutils
11 | claude-code
12 | cachix
13 | cmake
14 | dex
15 | direnv
16 | dpkg
17 | efibootmgr
18 | emacs
19 | fd
20 | ffmpeg
21 | file
22 | gawk
23 | gcc
24 | gdb
25 | git-fame
26 | git-lfs
27 | git-sync
28 | gitFull
29 | glxinfo
30 | gnumake
31 | gparted
32 | home-manager
33 | htop
34 | inotify-tools
35 | iotop
36 | ispell
37 | jq
38 | just
39 | lshw
40 | lsof
41 | magic-wormhole-rs
42 | ncdu
43 | neofetch
44 | neovim
45 | nix-index
46 | nix-search-cli
47 | pass
48 | patchelf
49 | pciutils
50 | pstree
51 | pulseaudio
52 | python-with-my-packages
53 | rclone
54 | rcm
55 | ripgrep
56 | runc
57 | silver-searcher
58 | skim
59 | sshfs
60 | sysz
61 | tmux
62 | tzupdate
63 | udiskie
64 | unzip
65 | usbutils
66 | wget
67 | xkcdpass
68 | yubikey-manager
69 | ];
70 | }
71 |
--------------------------------------------------------------------------------
/nixos/extra.nix:
--------------------------------------------------------------------------------
1 | { config, pkgs, makeEnable, ... }:
2 | makeEnable config "myModules.extra" false {
3 | programs.hyprland.enable = true;
4 |
5 | environment.systemPackages = with pkgs; [
6 | android-studio
7 | gradle
8 | ffmpeg
9 | asciidoctor
10 | roomeqwizard
11 | razergenie
12 | signal-desktop
13 | gource
14 | gimp
15 | texlive.combined.scheme-full
16 | tor
17 | yt-dlp
18 | ];
19 | }
20 |
--------------------------------------------------------------------------------
/nixos/fonts.nix:
--------------------------------------------------------------------------------
1 | { pkgs, makeEnable, config, ... }:
2 | makeEnable config "myModules.fonts" true {
3 | # Enable the gtk icon cache
4 | gtk.iconCache.enable = true;
5 |
6 | nixpkgs.config.joypixels.acceptLicense = true;
7 |
8 | fonts = {
9 | packages = with pkgs; [
10 | cascadia-code
11 | dejavu_fonts
12 | emacs-all-the-icons-fonts
13 | joypixels
14 | fira-code
15 | fira-mono
16 | font-awesome
17 |
18 | noto-fonts-emoji
19 | roboto
20 | source-code-pro
21 | source-sans-pro
22 | source-serif-pro
23 | twemoji-color-font
24 | nerd-fonts.jetbrains-mono
25 | nerd-fonts.fantasque-sans-mono
26 | nerd-fonts.iosevka
27 | nerd-fonts.victor-mono
28 | ];
29 | fontconfig = {
30 | hinting.autohint = true;
31 | antialias = true;
32 | allowBitmaps = true;
33 | useEmbeddedBitmaps = true;
34 | defaultFonts = {
35 | monospace = [ "JetBrains Mono" ];
36 | sansSerif = [ "Roboto" ];
37 | serif = [ "Source Serif Pro" ];
38 | };
39 | };
40 | };
41 | }
42 |
--------------------------------------------------------------------------------
/nixos/games.nix:
--------------------------------------------------------------------------------
1 | { config, pkgs, makeEnable, ... }:
2 | makeEnable config "myModules.games" false {
3 | environment.systemPackages = with pkgs; [
4 | steam
5 | heroic
6 | ];
7 | hardware.xone.enable = true;
8 | }
9 |
--------------------------------------------------------------------------------
/nixos/git-sync.nix:
--------------------------------------------------------------------------------
1 | { ... }: {
2 | home-manager.users.imalison = ({ config, ... }: {
3 | services.git-sync = {
4 | enable = true;
5 | repositories = {
6 | config = {
7 | path = config.home.homeDirectory + "/config";
8 | uri = "git@github.com:IvanMalison/config.git";
9 | };
10 | org = {
11 | path = config.home.homeDirectory + "/org";
12 | uri = "git@github.com:IvanMalison/org.git";
13 | interval = 30;
14 | };
15 | password-store = {
16 | path = config.home.homeDirectory + "/.password-store";
17 | uri = "git@github.com:IvanMalison/.password-store.git";
18 | };
19 | katnivan = {
20 | path = config.home.homeDirectory + "/katnivan";
21 | uri = "ssh://gitea@dev.railbird.ai:1123/colonelpanic/katnivan.git";
22 | interval = 30;
23 | };
24 | };
25 | };
26 | });
27 |
28 | home-manager.users.kat = ({ config, ... }: {
29 | services.git-sync = {
30 | enable = true;
31 | repositories = {
32 | obsidian = {
33 | path = config.home.homeDirectory + "/obsidian";
34 | uri = "git@github.com:katandtonic/obsidian.git";
35 | };
36 | org = {
37 | path = config.home.homeDirectory + "/org";
38 | uri = "ssh://gitea@1896Folsom.duckdns.org:1123/kkathuang/org.git";
39 | interval = 180;
40 | };
41 | katnivan = {
42 | path = config.home.homeDirectory + "/katnivan";
43 | uri = "ssh://gitea@1896Folsom.duckdns.org:1123/colonelpanic/katnivan.git";
44 | interval = 30;
45 | };
46 | };
47 | };
48 | });
49 | }
50 |
--------------------------------------------------------------------------------
/nixos/gitea-runner.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, ... }:
2 | makeEnable config "myModules.gitea-runner" false {
3 | age.secrets.gitea-runner-token = {
4 | file = ./secrets/gitea-runner-token.age;
5 | group = "docker";
6 | };
7 |
8 | services.gitea-actions-runner.instances.nix =
9 | let gitea-runner-directory = "/var/lib/gitea-runner";
10 | in {
11 | settings = {
12 | cache = {
13 | enabled = true;
14 | };
15 | container = {
16 | workdir_parent = "${gitea-runner-directory}/workspace";
17 | };
18 | host = {
19 | workdir_parent = "${gitea-runner-directory}/action-cache-dir";
20 | };
21 | };
22 | hostPackages = with pkgs; [
23 | bash
24 | coreutils
25 | curl
26 | direnv
27 | docker
28 | gawk
29 | git-lfs
30 | gitFull
31 | gnused
32 | just
33 | nixVersions.stable
34 | nodejs
35 | openssh
36 | wget
37 | ];
38 | enable = true;
39 | name = config.networking.hostName;
40 | url = "https://dev.railbird.ai";
41 | tokenFile = config.age.secrets.gitea-runner-token.path;
42 | labels = [
43 | "nixos-${pkgs.system}:host"
44 | "nix:docker://localhost:5921/nix-runner"
45 | ];
46 | };
47 |
48 | systemd.services.gitea-runner-nix.environment =
49 | let gitea-runner-directory = "/var/lib/gitea-runner"; in {
50 | XDG_CONFIG_HOME = gitea-runner-directory;
51 | XDG_CACHE_HOME = "${gitea-runner-directory}/.cache";
52 | };
53 | users.groups.gitea-runner = {};
54 | users.users.gitea-runner = {
55 | isSystemUser = true;
56 | group = "gitea-runner";
57 | extraGroups = ["docker"];
58 | home = "/var/lib/gitea-runner";
59 | };
60 | }
61 |
--------------------------------------------------------------------------------
/nixos/gitea.nix:
--------------------------------------------------------------------------------
1 | { config, makeEnable, ... }:
2 | makeEnable config "myModules.gitea" false {
3 |
4 | services.gitea = {
5 | enable = true;
6 | lfs.enable = true;
7 | dump = {
8 | enable = true;
9 | interval = "23:05";
10 | };
11 | settings.service = {
12 | DISABLE_REGISTRATION = true;
13 | };
14 | settings.server = {
15 | DOMAIN = "dev.railbird.ai";
16 | SSH_PORT = 1123;
17 | HTTP_PORT = 3001;
18 | ROOT_URL = "https://dev.railbird.ai";
19 | DISABLE_REGISTRATION = true;
20 | };
21 | settings.actions = {
22 | ENABLED = true;
23 | };
24 | };
25 |
26 | services.nginx = {
27 | enable = true;
28 | recommendedProxySettings = true;
29 | recommendedGzipSettings = true;
30 | recommendedTlsSettings = true;
31 | virtualHosts = {
32 | "dev.railbird.ai" = {
33 | serverName = "dev.railbird.ai";
34 | enableACME = true;
35 | forceSSL = true;
36 | locations."/" = {
37 | proxyPass = "http://localhost:3001";
38 | };
39 | };
40 | };
41 | };
42 | }
43 |
--------------------------------------------------------------------------------
/nixos/gnome.nix:
--------------------------------------------------------------------------------
1 | { config, makeEnable, ... }:
2 | makeEnable config "myModules.gnome" false {
3 | services.xserver = {
4 | desktopManager.gnome.enable = true;
5 | displayManager.gdm.enable = true;
6 | };
7 | }
8 |
--------------------------------------------------------------------------------
/nixos/home-manager.nix:
--------------------------------------------------------------------------------
1 | { pkgs, ... }:
2 | {
3 | xsession = {
4 | enable = true;
5 | preferStatusNotifierItems = true;
6 | importedVariables = [ "GDK_PIXBUF_ICON_LOADER" ];
7 | };
8 |
9 | home.keyboard = null;
10 | home.emptyActivationPath = false;
11 | programs.home-manager.enable = true;
12 |
13 | programs.ssh = {
14 | forwardAgent = true;
15 | };
16 |
17 | services.gpg-agent = {
18 | enable = true;
19 | defaultCacheTtl = 8 * 60 * 60;
20 | maxCacheTtl = 8 * 60 * 60;
21 | enableSshSupport = true;
22 | extraConfig = ''
23 | allow-emacs-pinentry
24 | allow-loopback-pinentry
25 | '';
26 | };
27 |
28 | systemd.user.services.setxkbmap = {
29 | Unit = {
30 | Description = "Set up keyboard in X";
31 | After = [ "graphical-session-pre.target" ];
32 | PartOf = [ "graphical-session.target" ];
33 | };
34 |
35 | Install = { WantedBy = [ "graphical-session.target" ]; };
36 |
37 | Service = {
38 | Type = "oneshot";
39 | RemainAfterExit = true;
40 | ExecStart = "/usr/bin/env load_xkb_map";
41 | };
42 | };
43 |
44 | gtk = {
45 | enable = true;
46 | iconTheme = {
47 | package = pkgs.numix-icon-theme-circle;
48 | name = "Numix-Circle";
49 | };
50 |
51 | font = {
52 | package = pkgs.noto-fonts-emoji;
53 | name = "Noto Sans";
54 | size = 10;
55 | };
56 |
57 | gtk3.extraConfig = {
58 | gtk-application-prefer-dark-theme = true;
59 | gtk-button-images = 1;
60 | gtk-cursor-theme-name = "breeze_cursors";
61 | gtk-cursor-theme-size = 24;
62 | gtk-decoration-layout = "icon:minimize,maximize,close";
63 | gtk-enable-animations = true;
64 | gtk-enable-event-sounds = 1;
65 | gtk-enable-input-feedback-sounds = 1;
66 | gtk-fallback-icon-theme = "gnome";
67 | gtk-key-theme-name = "Emacs";
68 | gtk-menu-images = 1;
69 | gtk-modules = "colorreload-gtk-module";
70 | gtk-primary-button-warps-slider = false;
71 | gtk-theme-name = "Arc";
72 | gtk-toolbar-icon-size = "GTK_ICON_SIZE_LARGE_TOOLBAR";
73 | gtk-toolbar-style = "GTK_TOOLBAR_BOTH_HORIZ";
74 | gtk-xft-antialias = 1;
75 | gtk-xft-dpi = 98304;
76 | gtk-xft-hinting = 1;
77 | gtk-xft-hintstyle = "hintslight";
78 | gtk-xft-rgba = "rgb";
79 | };
80 | };
81 | }
82 |
--------------------------------------------------------------------------------
/nixos/imalison.nix:
--------------------------------------------------------------------------------
1 | { ... }: {
2 | home-manager.users.imalison = {
3 | imports = [
4 | ./emacs.nix
5 | ];
6 | };
7 | }
8 |
--------------------------------------------------------------------------------
/nixos/internet-computer.nix:
--------------------------------------------------------------------------------
1 | { pkgs, ... }:
2 | {
3 | environment.systemPackages = with pkgs; [
4 | ic-keysmith
5 | quill
6 | quill-qr
7 | ];
8 | }
9 |
--------------------------------------------------------------------------------
/nixos/justfile:
--------------------------------------------------------------------------------
1 | switch *args:
2 | sudo nixos-rebuild switch --flake '.#' --impure {{args}}
3 |
4 | fix-local-path-issue:
5 | nix flake update imalison-taffybar
6 |
7 |
8 | expire-home-manager-generations:
9 | #!/usr/bin/env bash
10 | set -euxo pipefail
11 | for user in $(awk -F':' '{ if ($3 >= 1000 && $7 !~ /nologin|false|sync|shutdown|halt/) print $1 }' /etc/passwd); do
12 | echo $user
13 | sudo su - $user -c 'home-manager expire-generations -1days'
14 | done
15 |
--------------------------------------------------------------------------------
/nixos/kat.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, ... }:
2 | makeEnable config "myModules.kat" false {
3 | environment.systemPackages = with pkgs; [
4 | obsidian
5 | bitwarden
6 | code-cursor
7 | obsidian
8 | windsurf
9 | ];
10 |
11 | environment.extraInit = ''
12 | export PAGER=cat
13 | '';
14 | }
15 |
--------------------------------------------------------------------------------
/nixos/keybase.nix:
--------------------------------------------------------------------------------
1 | { forEachUser, ... }: {
2 | home-manager.users = forEachUser {
3 | services.kbfs.enable = true;
4 | };
5 | }
6 |
--------------------------------------------------------------------------------
/nixos/kubelet-client.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIDyTCCAjGgAwIBAgIRAMQBZiVjA5BGSkDldScI9cMwDQYJKoZIhvcNAQELBQAw
3 | LzEtMCsGA1UEAxMkM2I2N2M2NzgtNzI5My00YTIzLTg3ZWItY2NiMTZjYWFkMzFm
4 | MB4XDTI0MDkyOTIwNTAzNloXDTI5MDkyODIwNTIzNlowOTEVMBMGA1UEChMMc3lz
5 | dGVtOm5vZGVzMSAwHgYDVQQDExdzeXN0ZW06bm9kZTpyeXplbi1zaGluZTCCASIw
6 | DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANIOfbq05IIdgX2jXYLaEt66rkXp
7 | NlqPNfh6v9nL1Aw6PSM3DEIWXVko8AyduRF4kXNO6xc6l/Rzk03w3qSvJpWpALGD
8 | JjslgRL4VJWUC6/QydsCO9io7SoUEmXFtDcsW6DftFejosr+56ZnVFrz5MMzfUAL
9 | Ix6n83NJvXZ8f9oHSX8TFW34ZClLxDq2fprFIs+D2QlFRE50Jr/Q8gPI2OSQDUBW
10 | DFdQrjt81bLs6doQipUqvHb4/Ms49agHek1ceWIMf+KZWoao5KNQTBe6XL2BUgA/
11 | MS3ZvQppDDTygA0QkgdtOJyG2lsrAmd7LEXTr9ilsqLV3YQMMKhCifwINa0CAwEA
12 | AaNWMFQwDgYDVR0PAQH/BAQDAgWgMBMGA1UdJQQMMAoGCCsGAQUFBwMCMAwGA1Ud
13 | EwEB/wQCMAAwHwYDVR0jBBgwFoAUjvcbOeZ4QIk53EkATOaOFiAZUq0wDQYJKoZI
14 | hvcNAQELBQADggGBAELWgmdmg9TKjDDqmF6pYr1j43gZYclXW4sB509itSiIeltX
15 | Isrvn5R5ok0W5Jcl+7QMhpntqIKJi26OqbcdBhqlaVURkBkbrx8aegkWJfPO+Fzz
16 | NyyiIpk7KQzGy6N5//jfMPZtJfQEQZwMenW0cj7F0QHOdVZy90+JNr2P3uV3Ad7u
17 | WZuYpbOFjOeQg1hJsX8wEU4KJyptn/kXhM+CqAnQ4S+k2wpjECD8KpWKAmpJWZg0
18 | RaBPyHZSmWnbXqs4LU6ERaZJxZQG0ODuA18DmGfaAkUUUvE2J0ploc2Y8Xl4zUWW
19 | Ivwslyx30YO3J9qI30d9tTQw/A0vHCoDNDbCg7lorZqP3TiTG9ANLndPqqg6inYU
20 | yfj612//JrO8w/4qh7cxR03P35aK0paLC74FaKLtZ5CwPK3BAW/0Zhv5fH4io6hE
21 | rfJmcjhbKD0Cwr9Dn6wVFz/a33H+0vMohHrVlDk4bSDIymbuJcZpYgR8n5WNQbGu
22 | nwjiLXCnVxcVjkcj2w==
23 | -----END CERTIFICATE-----
24 |
--------------------------------------------------------------------------------
/nixos/kubelet.nix:
--------------------------------------------------------------------------------
1 | { config, pkgs, makeEnable, ... }:
2 | makeEnable config "myModules.kubelet" false {
3 | age.secrets."api_service_account_key.json.age".file = ./secrets/api_service_account_key.json.age;
4 | services.kubernetes.kubelet = {
5 | enable = true;
6 | kubeconfig = {
7 | server = "https://34.31.205.230";
8 | caFile = ./railbird-kubernetes.crt;
9 | certFile = ./kubelet-client.crt;
10 | keyFile = config.age.secrets."api_service_account_key.json.age".path;
11 | };
12 | registerNode = true;
13 | cni = {
14 | packages = [ pkgs.cni-plugins pkgs.calico-cni-plugin ];
15 | };
16 | extraOpts = ''
17 | --fail-swap-on=false
18 | # --container-runtime=remote
19 | # --container-runtime-endpoint=unix:///run/containerd/containerd.sock
20 | '';
21 | };
22 | }
23 |
--------------------------------------------------------------------------------
/nixos/laptop.nix:
--------------------------------------------------------------------------------
1 | { makeEnable, config, ... }:
2 | makeEnable config "myModules.laptop" true {
3 | services.logind = {
4 | lidSwitchExternalPower = "ignore";
5 | };
6 | }
7 |
--------------------------------------------------------------------------------
/nixos/machines/adell.nix:
--------------------------------------------------------------------------------
1 | { lib, pkgs, inputs, forEachUser, ... }:
2 |
3 | {
4 | imports = [
5 | ../configuration.nix
6 | inputs.nixos-hardware.nixosModules.dell-xps-17-9700-nvidia
7 | ];
8 |
9 | myModules.wyoming.enable = true;
10 | myModules.base.enable = true;
11 | myModules.desktop.enable = true;
12 | myModules.xmonad.enable = true;
13 | myModules.extra.enable = false;
14 | myModules.code.enable = true;
15 | myModules.games.enable = false;
16 | myModules.syncthing.enable = true;
17 | myModules.fonts.enable = true;
18 | myModules.nixified-ai.enable = false;
19 | myModules.gitea-runner.enable = false;
20 | hardware.nvidia.open = true;
21 |
22 | hardware.enableRedistributableFirmware = true;
23 |
24 | environment.systemPackages = with pkgs; [
25 | android-studio
26 | ];
27 |
28 | boot.kernelPackages = pkgs.linuxPackages_latest;
29 | boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
30 | boot.initrd.kernelModules = [ ];
31 | boot.kernelModules = [ "kvm-intel" ];
32 | services.xserver = {
33 | videoDrivers = [ "nvidia" ];
34 | };
35 | boot.loader.systemd-boot.enable = true;
36 | boot.loader.efi.canTouchEfiVariables = true;
37 |
38 | services.libinput = {
39 | enable = true;
40 | touchpad.tapping = true;
41 | };
42 |
43 | security.pam.services.login.fprintAuth = true;
44 | services.fprintd = {
45 | enable = true;
46 | tod = {
47 | enable = true;
48 | driver = pkgs.libfprint-2-tod1-goodix;
49 | };
50 | };
51 |
52 | fileSystems."/" =
53 | { device = "/dev/disk/by-uuid/18af5b4c-69c7-41a8-865e-bc3f5269d2f9";
54 | fsType = "ext4";
55 | };
56 |
57 | fileSystems."/boot" =
58 | { device = "/dev/disk/by-uuid/8A9F-D7D2";
59 | fsType = "vfat";
60 | };
61 |
62 | swapDevices = [ ];
63 |
64 | networking.hostName = "adell";
65 |
66 | powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
67 |
68 | home-manager.users = forEachUser {
69 | home.stateVersion = "23.05";
70 | };
71 |
72 | system.stateVersion = "23.05";
73 | }
74 |
--------------------------------------------------------------------------------
/nixos/machines/bencbox.nix:
--------------------------------------------------------------------------------
1 | { lib, pkgs, config, inputs, forEachUser, ... }:
2 | {
3 | imports = [
4 | ../configuration.nix
5 | ];
6 | services.xserver.enable = true;
7 | environment.systemPackages = with pkgs; [
8 | sublime
9 | vlc
10 | ];
11 | myModules.desktop.enable = false;
12 | myModules.plasma.enable = false;
13 | imalison.nixOverlay.enable = false;
14 | myModules.wsl.enable = true;
15 |
16 | networking.hostName = "bencbox";
17 |
18 | wsl.defaultUser = "ben";
19 | system.stateVersion = "22.05";
20 |
21 | home-manager.users = forEachUser {
22 | home.stateVersion = "22.05";
23 | };
24 |
25 | users.users.ben = {
26 | extraGroups = [
27 | "audio"
28 | "adbusers"
29 | "disk"
30 | "docker"
31 | "networkmanager"
32 | "openrazer"
33 | "plugdev"
34 | "syncthing"
35 | "systemd-journal"
36 | "video"
37 | ] ++ ["wheel"];
38 | };
39 | }
40 |
--------------------------------------------------------------------------------
/nixos/machines/david-blade.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, forEachUser, ... }:
2 |
3 | {
4 | imports = [
5 | ../configuration.nix
6 | ];
7 |
8 | myModules.base.enable = true;
9 | myModules.desktop.enable = true;
10 | myModules.xmonad.enable = false;
11 | myModules.extra.enable = false;
12 | myModules.code.enable = true;
13 | myModules.games.enable = false;
14 | myModules.syncthing.enable = true;
15 | myModules.fonts.enable = true;
16 | myModules.nixified-ai.enable = false;
17 |
18 | hardware.enableRedistributableFirmware = true;
19 |
20 | # disable card with bbswitch by default since we turn it on only on demand!
21 | hardware.nvidiaOptimus.disable = true;
22 |
23 | # install nvidia drivers in addition to intel one
24 | hardware.opengl.extraPackages = [ pkgs.linuxPackages.nvidia_x11.out ];
25 | hardware.opengl.extraPackages32 = [ pkgs.linuxPackages.nvidia_x11.lib32 ];
26 |
27 | boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
28 | boot.kernelModules = [ "kvm-intel" ];
29 | boot.extraModulePackages = [ ];
30 |
31 | boot.loader.systemd-boot.enable = true;
32 | boot.loader.efi.canTouchEfiVariables = true;
33 |
34 | services.xserver.libinput.enable = true;
35 |
36 | fileSystems."/" = {
37 | device = "/dev/disk/by-uuid/36864608-8e74-42b8-a075-27b59ef2701d";
38 | fsType = "ext4";
39 | };
40 |
41 | fileSystems."/boot" = {
42 | device = "/dev/disk/by-uuid/36E1-BE93";
43 | fsType = "vfat";
44 | };
45 |
46 | swapDevices = [
47 | {
48 | device = "/swapfile";
49 | priority = 0;
50 | size = 4096;
51 | }
52 | ];
53 |
54 | networking.hostName = "david-blade";
55 |
56 | home-manager.users = forEachUser {
57 | home.stateVersion = "24.05";
58 | };
59 |
60 | powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
61 | system.stateVersion = "24.05";
62 | }
63 |
--------------------------------------------------------------------------------
/nixos/machines/dean-zephyrus.nix:
--------------------------------------------------------------------------------
1 | { lib, pkgs, config, inputs, forEachUser, ... }:
2 | {
3 | imports = [
4 | ../configuration.nix
5 | ];
6 | services.xserver.enable = true;
7 | environment.systemPackages = with pkgs; [sublime];
8 | myModules.desktop.enable = false;
9 | myModules.plasma.enable = false;
10 | imalison.nixOverlay.enable = false;
11 | myModules.wsl.enable = true;
12 |
13 | networking.hostName = "dean-zephyrus";
14 |
15 | wsl.defaultUser = "dean";
16 | system.stateVersion = "22.05";
17 |
18 | home-manager.users = forEachUser {
19 | home.stateVersion = "22.05";
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/nixos/machines/jay-lenovo-wsl.nix:
--------------------------------------------------------------------------------
1 | { lib, pkgs, config, inputs, forEachUser, ... }:
2 | {
3 | imports = [
4 | ../configuration.nix
5 | ];
6 |
7 | imalison.nixOverlay.enable = false;
8 | myModules.wsl.enable = true;
9 |
10 | networking.hostName = "jay-lenovo-wsl";
11 |
12 | wsl.defaultUser = "kat";
13 | system.stateVersion = "22.05";
14 |
15 | home-manager.users = forEachUser {
16 | home.stateVersion = "22.05";
17 | };
18 | }
19 |
--------------------------------------------------------------------------------
/nixos/machines/jay-lenovo.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, forEachUser, ... }:
2 |
3 | {
4 | imports = [
5 | ../configuration.nix
6 | ];
7 |
8 | myModules.wyoming.enable = true;
9 | features.full.enable = true;
10 |
11 | environment.systemPackages = with pkgs; [
12 | android-studio
13 | linuxPackages_latest.perf
14 | zenmonitor
15 | code-cursor
16 | ];
17 |
18 | hardware.enableRedistributableFirmware = true;
19 | boot.kernelPackages = pkgs.linuxPackages_latest;
20 |
21 | boot.initrd.kernelModules = [ "amdgpu" ];
22 | boot.initrd.availableKernelModules = [
23 | "nvme" "xhci_pci" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" "amdgpu"
24 | ];
25 | boot.kernelModules = [ "kvm-amd" ];
26 | boot.extraModulePackages = [ ];
27 |
28 | boot.loader.systemd-boot.enable = true;
29 | boot.loader.efi.canTouchEfiVariables = true;
30 |
31 | myModules.postgres.enable = true;
32 | myModules.kat.enable = true;
33 | networking.networkmanager.enable = true;
34 |
35 | services.xserver = {
36 | enable = true;
37 | libinput.enable = true;
38 | videoDrivers = [ "amdgpu" ];
39 | };
40 |
41 | fileSystems."/" = {
42 | device = "/dev/disk/by-uuid/cb96b029-df61-45d3-905b-a9435bf446df";
43 | fsType = "ext4";
44 | };
45 |
46 | fileSystems."/boot" = {
47 | device = "/dev/disk/by-uuid/1C5A-4FBB";
48 | fsType = "vfat";
49 | };
50 |
51 | networking.hostName = "jay-lenovo";
52 |
53 | services.power-profiles-daemon.enable = false;
54 | services.tlp.enable = true;
55 |
56 | system.stateVersion = "23.05";
57 |
58 | home-manager.users = forEachUser {
59 | home.stateVersion = "23.05";
60 | };
61 | }
62 |
--------------------------------------------------------------------------------
/nixos/machines/jimi-hendnix.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, forEachUser, ... }:
2 |
3 | {
4 | imports = [
5 | ../configuration.nix
6 | ];
7 |
8 | myModules.railbird-k3s = {
9 | enable = true;
10 | serverAddr = "https://ryzen-shine.local:6443";
11 | };
12 | myModules.base.enable = true;
13 | myModules.desktop.enable = true;
14 | myModules.xmonad.enable = true;
15 | myModules.extra.enable = false;
16 | myModules.code.enable = true;
17 | myModules.games.enable = false;
18 | myModules.syncthing.enable = true;
19 | myModules.fonts.enable = true;
20 | myModules.gitea-runner.enable = true;
21 | myModules.postgres.enable = true;
22 |
23 | hardware.enableRedistributableFirmware = true;
24 | myModules.nvidia.enable = true;
25 |
26 | boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
27 | boot.kernelModules = [ "kvm-intel" ];
28 | boot.extraModulePackages = [ ];
29 |
30 | boot.loader.systemd-boot.enable = true;
31 | boot.loader.efi.canTouchEfiVariables = true;
32 | hardware.nvidia.modesetting.enable = true;
33 |
34 | services.xserver = {
35 | videoDrivers = [ "nvidia" ];
36 | };
37 |
38 | fileSystems."/" =
39 | { device = "/dev/disk/by-uuid/30583504-9530-4095-a556-da1209ef9b63";
40 | fsType = "ext4";
41 | };
42 |
43 | fileSystems."/boot" =
44 | { device = "/dev/disk/by-uuid/CE95-E46C";
45 | fsType = "vfat";
46 | };
47 |
48 | swapDevices = [
49 | { device = "/dev/disk/by-uuid/598e9aa1-4940-4410-a2fa-3dfd8b7d2c0d"; }
50 | ];
51 |
52 | home-manager.users = forEachUser {
53 | home.stateVersion = "23.11";
54 | };
55 |
56 | networking.hostName = "jimi-hendnix";
57 |
58 | system.stateVersion = "23.05";
59 | }
60 |
--------------------------------------------------------------------------------
/nixos/machines/nixquick.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, inputs, forEachUser, ... }:
2 | {
3 | imports = [
4 | ../configuration.nix
5 | ];
6 |
7 | services.macos-ventura = {
8 | enable = false;
9 | openFirewall = true;
10 | vncListenAddr = "0.0.0.0";
11 | };
12 |
13 | features.full.enable = true;
14 | myModules.cache-server = {
15 | enable = true;
16 | port = 3090;
17 | };
18 | myModules.gitea-runner.enable = true;
19 | myModules.vscode.enable = true;
20 | myModules.kat.enable = true;
21 | myModules.nvidia.enable = true;
22 | myModules.railbird-k3s = {
23 | enable = true;
24 | serverAddr = "https://dev.railbird.ai:6443";
25 | };
26 |
27 | networking.hostName = "nixquick";
28 |
29 | hardware.enableRedistributableFirmware = true;
30 | boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
31 | boot.initrd.kernelModules = [ ];
32 | boot.kernelModules = [ "kvm-intel" ];
33 | boot.extraModulePackages = [ ];
34 | boot.loader.systemd-boot.enable = true;
35 |
36 | hardware.nvidia.modesetting.enable = true;
37 |
38 | # This also enables v4l2loopback
39 | programs.droidcam.enable = true;
40 |
41 | fileSystems."/" =
42 | { device = "/dev/disk/by-uuid/64a7c1f5-727a-413c-81a2-cb108728cff6";
43 | fsType = "ext4";
44 | };
45 |
46 | fileSystems."/boot" =
47 | { device = "/dev/disk/by-uuid/EE25-DC15";
48 | fsType = "vfat";
49 | };
50 |
51 | swapDevices =
52 | [ { device = "/dev/disk/by-uuid/c0dcff59-8072-48fb-b242-a7a1797e4b48"; }
53 | ];
54 |
55 |
56 | networking.useDHCP = lib.mkDefault true;
57 | nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
58 | powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
59 | hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
60 |
61 | services.xrdp.enable = true;
62 | services.xrdp.defaultWindowManager = "startplasma-x11";
63 | services.xrdp.openFirewall = true;
64 |
65 | home-manager.users = forEachUser {
66 | home.stateVersion = "23.11";
67 | };
68 |
69 | system.stateVersion = "23.11";
70 | }
71 |
--------------------------------------------------------------------------------
/nixos/machines/railbird-sf.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, forEachUser, ... }:
2 | {
3 | imports = [
4 | ../configuration.nix
5 | ];
6 |
7 | networking.hostName = "railbird-sf";
8 |
9 | hardware.enableRedistributableFirmware = true;
10 | boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
11 | boot.initrd.kernelModules = [ ];
12 | boot.kernelModules = [ "kvm-amd" ];
13 | boot.extraModulePackages = [ ];
14 | boot.loader.systemd-boot.enable = true;
15 | modules.postgres.enable = true;
16 |
17 | services.k3s.role = "agent";
18 | services.k3s.extraFlags = lib.mkForce ["--node-label nixos-nvidia-cdi=enabled"];
19 |
20 | hardware.nvidia = {
21 | powerManagement.enable = false;
22 | # Fine-grained power management. Turns off GPU when not in use.
23 | # Experimental and only works on modern Nvidia GPUs (Turing or newer).
24 | powerManagement.finegrained = false;
25 |
26 | # Enable the Nvidia settings menu,
27 | # accessible via `nvidia-settings`.
28 | nvidiaSettings = true;
29 | };
30 |
31 | features.full.enable = false;
32 | myModules.base.enable = true;
33 | myModules.desktop.enable = true;
34 | myModules.xmonad.enable = false;
35 | myModules.code.enable = true;
36 | myModules.syncthing.enable = true;
37 | myModules.fonts.enable = true;
38 | myModules.plasma.enable = true;
39 | myModules.nvidia.enable = true;
40 | myModules.gitea-runner.enable = true;
41 | myModules.railbird-k3s = {
42 | enable = false;
43 | serverAddr = "https://dev.railbird.ai:6443";
44 | };
45 |
46 | fileSystems."/" =
47 | { device = "/dev/disk/by-uuid/a317d456-6f84-41ee-a149-8e466e414aae";
48 | fsType = "ext4";
49 | };
50 |
51 | fileSystems."/boot" =
52 | { device = "/dev/disk/by-uuid/B875-39D4";
53 | fsType = "vfat";
54 | };
55 |
56 | swapDevices =
57 | [ { device = "/dev/disk/by-uuid/129345f3-e1e1-4d45-9db9-643160c6d564"; }
58 | ];
59 |
60 | environment.systemPackages = with pkgs; [
61 | android-studio
62 | ];
63 |
64 | networking.useDHCP = lib.mkDefault true;
65 | nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
66 | powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
67 | hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
68 |
69 | home-manager.users = forEachUser {
70 | home.stateVersion = "23.11";
71 | };
72 |
73 | system.stateVersion = "23.11";
74 | }
75 |
--------------------------------------------------------------------------------
/nixos/machines/ryzen-shine.nix:
--------------------------------------------------------------------------------
1 | { lib, pkgs, forEachUser, ... }:
2 |
3 | {
4 | imports = [
5 | ../configuration.nix
6 | ];
7 |
8 | features.full.enable = true;
9 | myModules.kubelet.enable = false;
10 | myModules.nvidia.enable = true;
11 | # Needed for now because monitors have different refresh rates
12 | myModules.xmonad.picom.vSync.enable = false;
13 | myModules.cache-server = {
14 | enable = true;
15 | port = 3090;
16 | };
17 | myModules.gitea-runner.enable = true;
18 | myModules.postgres.enable = true;
19 | myModules.railbird-k3s = {
20 | enable = true;
21 | serverAddr = "https://jimi-hendnix.local:6443";
22 | # extraFlags = ["--node-taint preferNoSchedule=true:NoSchedule"];
23 | };
24 | myModules.nixified-ai.enable = true;
25 | boot.kernelPackages = pkgs.linuxPackages_latest;
26 |
27 | boot.loader.systemd-boot.configurationLimit = 5;
28 |
29 | networking.hostName = "ryzen-shine";
30 |
31 | environment.systemPackages = with pkgs; [
32 | linuxPackages_latest.perf
33 | ];
34 |
35 | boot.initrd.systemd.enable = true;
36 | boot.plymouth = {
37 | enable = false;
38 | };
39 |
40 | services.autorandr = {
41 | enable = true;
42 | };
43 |
44 | hardware.enableRedistributableFirmware = true;
45 |
46 | networking.interfaces.enp5s0.useDHCP = true;
47 | networking.interfaces.wlp4s0.useDHCP = true;
48 |
49 | boot.loader.systemd-boot.enable = true;
50 | boot.loader.efi.canTouchEfiVariables = true;
51 |
52 | boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
53 |
54 | hardware.nvidia.modesetting.enable = true;
55 |
56 | hardware.graphics.enable32Bit = true;
57 |
58 | boot.kernelModules = [ "kvm-amd" ];
59 | boot.extraModulePackages = [ ];
60 |
61 | fileSystems."/" = {
62 | device = "/dev/disk/by-uuid/9bd06145-8151-4f7b-bcfe-f1809e0db1ea";
63 | fsType = "ext4";
64 | };
65 |
66 | fileSystems."/boot" = {
67 | device = "/dev/disk/by-uuid/E1E1-909E";
68 | fsType = "vfat";
69 | };
70 |
71 | fileSystems."/shared" = {
72 | device = "/dev/disk/by-uuid/D4009CE8009CD33A";
73 | fsType = "ntfs";
74 | options = [ "nofail" "uid=0" "gid=users" "umask=002" ];
75 | };
76 |
77 | # nix.settings.maxJobs = lib.mkDefault 16;
78 | # High-DPI console
79 | console.font = lib.mkDefault "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
80 |
81 | # services.xrdp.enable = true;
82 | # services.xrdp.defaultWindowManager = "startplasma-x11";
83 | # services.xrdp.openFirewall = true;
84 |
85 | system.stateVersion = "20.03";
86 | home-manager.users = forEachUser {
87 | home.stateVersion = "21.05";
88 | };
89 |
90 | # users.extraUsers.dean.home = "/shared/dean";
91 | }
92 |
--------------------------------------------------------------------------------
/nixos/machines/strixi-minaj-wsl.nix:
--------------------------------------------------------------------------------
1 | { lib, pkgs, config, inputs, forEachUser, ... }:
2 | {
3 | imports = [
4 | ../configuration.nix
5 | ];
6 |
7 | myModules.wsl.enable = true;
8 |
9 | networking.hostName = "strixi-minaj-wsl";
10 |
11 | wsl.defaultUser = "imalison";
12 | system.stateVersion = "23.11"; # Did you read the comment?
13 |
14 | home-manager.users = forEachUser {
15 | home.stateVersion = "23.11";
16 | };
17 |
18 | programs.gnupg = {
19 | agent = {
20 | pinentryPackage = pkgs.pinentry-curses;
21 | enable = true;
22 | enableSSHSupport = true;
23 | };
24 | };
25 |
26 | nixpkgs.config.permittedInsecurePackages = [
27 | "openssl-1.0.2u"
28 | "electron-12.2.3"
29 | "etcher"
30 | "electron-19.1.9"
31 | "openssl-1.1.1w"
32 | "nix-2.16.2"
33 | "electron-32.3.3"
34 | ];
35 | }
36 |
--------------------------------------------------------------------------------
/nixos/machines/strixi-minaj.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, inputs, forEachUser, ... }:
2 |
3 | {
4 | imports = [
5 | ../configuration.nix
6 | inputs.nixos-hardware.nixosModules.asus-rog-strix-g834jzr
7 | ];
8 |
9 | hardware.nvidia.open = true;
10 | myModules.base.enable = true;
11 | myModules.desktop.enable = true;
12 | myModules.xmonad.enable = true;
13 | myModules.extra.enable = false;
14 | myModules.code.enable = true;
15 | myModules.games.enable = false;
16 | myModules.syncthing.enable = true;
17 | myModules.fonts.enable = true;
18 | myModules.gitea-runner.enable = false;
19 | myModules.nvidia.enable = true;
20 | myModules.electron.enable = true;
21 | myModules.wyoming.enable = false;
22 | myModules.tts.enable = true;
23 |
24 | hardware.enableRedistributableFirmware = true;
25 | # nixpkgs.config.cudaSupport = true;
26 |
27 | environment.systemPackages = with pkgs; [
28 | android-studio
29 | ];
30 |
31 | services.synergy.server = {
32 | enable = true;
33 | autoStart = true;
34 | configFile = ../../dotfiles/synergy.conf;
35 | };
36 |
37 | services.matter-server = {
38 | enable = true;
39 | logLevel = "debug";
40 | extraArgs = ["--bluetooth-adapter=0" "--enable-test-net-dcl"];
41 | };
42 |
43 | programs.virt-manager.enable = true;
44 | virtualisation.libvirtd.enable = true;
45 | virtualisation.spiceUSBRedirection.enable = true;
46 |
47 | services.xserver.dpi = 96;
48 | boot.kernelPackages = pkgs.linuxPackages_latest;
49 | boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "thunderbolt" "nvme" "usbhid" "usb_storage" "sd_mod" ];
50 | boot.initrd.kernelModules = [ "nvidia" "nvidia_drm" "nvidia_uvm" "nvidia_modeset" ];
51 | boot.kernelModules = [ "kvm-intel" ];
52 | boot.extraModulePackages = [ ];
53 | hardware.nvidia.powerManagement.enable = true;
54 | boot.loader.systemd-boot.enable = true;
55 | boot.loader.efi.canTouchEfiVariables = true;
56 |
57 | services.asusd.enable = true;
58 |
59 | fileSystems."/" = {
60 | device = "/dev/disk/by-uuid/fc06a54c-cc45-423a-914b-8dfcb5939106";
61 | fsType = "ext4";
62 | };
63 |
64 | fileSystems."/boot" = {
65 | device = "/dev/disk/by-uuid/B28A-829A";
66 | fsType = "vfat";
67 | };
68 |
69 | swapDevices = [
70 | { device = "/dev/disk/by-uuid/27f277a0-b552-43a0-904d-625e48922bb9"; }
71 | ];
72 |
73 | networking.hostName = "strixi-minaj";
74 |
75 | powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
76 | hardware.cpu.intel.updateMicrocode = lib.mkDefault true;
77 |
78 | home-manager.users = forEachUser {
79 | home.stateVersion = "23.05";
80 | };
81 |
82 | system.stateVersion = "23.05";
83 | }
84 |
--------------------------------------------------------------------------------
/nixos/make-enable.nix:
--------------------------------------------------------------------------------
1 | lib: config: pathStr: default: configAttrs:
2 | let
3 |
4 | pathToAttrSet = str: value:
5 | let
6 | parts = lib.splitString "." str;
7 | in
8 | if lib.length parts == 1 then
9 | { ${lib.head parts} = value; }
10 | else
11 | { ${lib.head parts} = pathToAttrSet (lib.concatStringsSep "." (lib.tail parts)) value; };
12 |
13 | optionsSet = pathToAttrSet pathStr {
14 | enable = lib.mkOption {
15 | inherit default;
16 | type = lib.types.bool;
17 | };
18 | };
19 |
20 | cfg = lib.attrByPath (lib.splitString "." pathStr) { enable = false; } config;
21 |
22 | # Extract 'imports' from configAttrs, if it exists
23 | importsAttr = if configAttrs ? imports then configAttrs.imports else [];
24 | # Remove 'imports' from configAttrs
25 | configAttrsWithoutImports = lib.attrsets.removeAttrs configAttrs ["imports"];
26 |
27 | in
28 | {
29 | options = optionsSet;
30 | config = lib.mkIf cfg.enable configAttrsWithoutImports;
31 | imports = importsAttr;
32 | }
33 |
--------------------------------------------------------------------------------
/nixos/nix.nix:
--------------------------------------------------------------------------------
1 | { inputs, specialArgs, config, lib, ... }:
2 | {
3 | imports = [
4 | inputs.home-manager.nixosModules.home-manager
5 | ];
6 |
7 | options = {
8 | imalison.nixOverlay.enable = lib.mkOption {
9 | default = false;
10 | type = lib.types.bool;
11 | };
12 | };
13 | config = {
14 | home-manager.extraSpecialArgs = {
15 | nixos = {
16 | inherit specialArgs config;
17 | };
18 | };
19 | home-manager.useGlobalPkgs = true;
20 | home-manager.useUserPackages = true;
21 | home-manager.backupFileExtension = "backup";
22 |
23 | nix = rec {
24 | extraOptions = ''
25 | experimental-features = nix-command flakes
26 | '';
27 | registry.nixpkgs.flake = inputs.nixpkgs;
28 | settings = {
29 | keep-outputs = true;
30 | keep-derivations = true;
31 | substituters = [
32 | "https://cache.nixos.org"
33 | "https://cuda-maintainers.cachix.org"
34 | "https://ai.cachix.org"
35 | ];
36 | trusted-public-keys = [
37 | "cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A="
38 | "cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
39 | "ai.cachix.org-1:N9dzRK+alWwoKXQlnn0H6aUx0lU/mspIoz8hMvGvbbc="
40 | ];
41 | nix-path = nixPath;
42 | };
43 | channel.enable = false;
44 | nixPath = [
45 | "nixpkgs=${inputs.nixpkgs.outPath}"
46 | ];
47 | };
48 |
49 | nixpkgs.overlays = [
50 | # (import ./nvidia-container-toolkit-overlay.nix)
51 | (import ./runc-overlay.nix)
52 | (import ./overlay.nix)
53 | ] ++ (if config.imalison.nixOverlay.enable then [ inputs.nix.overlays.default ] else []);
54 |
55 | # Allow all the things
56 | nixpkgs.config.allowUnfree = true;
57 | };
58 | }
59 |
--------------------------------------------------------------------------------
/nixos/nixified.ai.nix:
--------------------------------------------------------------------------------
1 | { inputs, config, specialArgs, ... }:
2 | specialArgs.makeEnable config "myModules.nixified-ai" false {
3 | imports = [
4 | inputs.nixified-ai.nixosModules.comfyui
5 | ];
6 |
7 | services.comfyui = {
8 | enable = true;
9 | host = "0.0.0.0";
10 | };
11 | }
12 |
--------------------------------------------------------------------------------
/nixos/notification-sound.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/notification-sound.wav
--------------------------------------------------------------------------------
/nixos/nvidia.nix:
--------------------------------------------------------------------------------
1 | { config, pkgs, makeEnable, lib, ... }:
2 |
3 | makeEnable config "myModules.nvidia" false {
4 | environment.systemPackages = with pkgs; [
5 | nvidia-container-toolkit
6 | nvidia-container-toolkit.tools
7 | ];
8 | hardware.nvidia-container-toolkit = {
9 | enable = true;
10 | mount-nvidia-executables = true;
11 | # additionalEdit = ''
12 | # ${lib.getExe pkgs.jq} '
13 | # .devices |= map(
14 | # .containerEdits.hooks |= map(select(.args | index("nvidia-cdi-hook") < 0))
15 | # )' | ${lib.getExe pkgs.jq} '.containerEdits.hooks |= map(select(.args | index("nvidia-cdi-hook") < 0 ))' '';
16 | };
17 | hardware.nvidia.open = true;
18 | hardware.graphics.enable32Bit = true;
19 | hardware.graphics.extraPackages = [ config.boot.kernelPackages.nvidia_x11.out ];
20 | hardware.graphics.extraPackages32 = [ config.boot.kernelPackages.nvidia_x11.lib32 ];
21 | services.xserver = {
22 | videoDrivers = [ "nvidia" ];
23 | };
24 | # nixpkgs.config.cudaSupport = true;
25 | }
26 |
--------------------------------------------------------------------------------
/nixos/options.nix:
--------------------------------------------------------------------------------
1 | { lib, ... }: {
2 | options = {
3 | myModules.xmonad.picom.vSync.enable = lib.mkOption {
4 | default = true;
5 | type = lib.types.bool;
6 | };
7 | };
8 | }
9 |
--------------------------------------------------------------------------------
/nixos/plasma.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, ... }:
2 | makeEnable config "myModules.plasma" true {
3 | services.accounts-daemon.enable = true;
4 | services.displayManager.sddm = {
5 | enable = true;
6 | settings = {
7 | Users = {
8 | # Show a maximum number of users
9 | MaximumUid = 60000;
10 | MinimumUid = 1000;
11 | # Enable user icons
12 | RememberLastUser = true;
13 | };
14 | };
15 | extraPackages = with pkgs; [
16 | # sddm-astronaut
17 | ];
18 | };
19 | services.xserver = {
20 | desktopManager.plasma6.enable = true;
21 | };
22 | }
23 |
--------------------------------------------------------------------------------
/nixos/postgres.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, realUsers, ... }:
2 | makeEnable config "myModules.postgres" true {
3 | services.postgresql = {
4 | enable = true;
5 | package = pkgs.postgresql_15;
6 | ensureDatabases = [ "railbird" "public" ];
7 | authentication = pkgs.lib.mkOverride 10 ''
8 | #type database DBuser CIDR-ADDRESS auth-method
9 | local all all trust
10 | host all all 0.0.0.0/0 trust
11 | host all all ::1/128 trust
12 | '';
13 | ensureUsers = map (username: {
14 | name = username;
15 | ensureClauses = {
16 | superuser = true;
17 | createrole = true;
18 | createdb = true;
19 | };
20 | }) realUsers;
21 | # initialScript = pkgs.writeText "init-sql-script" ''
22 | # CREATE DATABASE IF NOT EXISTS railbird;
23 | # \c railbird
24 | # CREATE SCHEMA IF NOT EXISTS railbird;
25 | # '';
26 | };
27 | services.pgadmin = {
28 | enable = false;
29 | initialEmail = "IvanMalison@gmail.com";
30 | initialPasswordFile = (builtins.toFile "password" "This is the content of the file.");
31 | };
32 | }
33 |
--------------------------------------------------------------------------------
/nixos/rabbitmq.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, realUsers, ... }:
2 | makeEnable config "myModules.rabbitmq" false {
3 | services.rabbitmq = {
4 | enable = true;
5 | };
6 | }
7 |
--------------------------------------------------------------------------------
/nixos/railbird-kubernetes.crt:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIELTCCApWgAwIBAgIRALNxOT7J7N/eK6edp9LbKAIwDQYJKoZIhvcNAQELBQAw
3 | LzEtMCsGA1UEAxMkM2I2N2M2NzgtNzI5My00YTIzLTg3ZWItY2NiMTZjYWFkMzFm
4 | MCAXDTIzMTIyOTE5NTQ0MloYDzIwNTMxMjIxMjA1NDQyWjAvMS0wKwYDVQQDEyQz
5 | YjY3YzY3OC03MjkzLTRhMjMtODdlYi1jY2IxNmNhYWQzMWYwggGiMA0GCSqGSIb3
6 | DQEBAQUAA4IBjwAwggGKAoIBgQCUYUuTrpDbwUS2B3SYUoa7LI5mi8NNr0lDe1w4
7 | 3yPpVnu6ubvnTNm2j/v88HYwEjlppEg4HjhP7YEJ8gsGdgUCpIaPWTpifVmA7E4o
8 | 2DbJDiePkkUGkNL0whCClOOcO0hyxdk9Pol5wRzci0l6zSalE6DB4rJrmB5Ppl/A
9 | t2KAVVqpwbynmbijr4yZh7Bp7LfaIrFthlv2ZPEjLfPLz7YthBw9/iUt94mLMyWZ
10 | BpygA5y/CocQQnnFMnU1o0eUd37YL7zErfIxx/AmL10Sq0qdFXiYOJJqubURbdS8
11 | DZ6dyHdX+UlxPls2Rlx9nDaiNGFJdzqHJzDdOlzN3kkdDQoO8xUdH9ekFU7rOwkP
12 | 5NpubSwrd1FOGHh+EknugnEQD4Oip/YQ7IUj3Afm5Ag2la9k4WJRgjACbkQ2+k9I
13 | sFmPmmMVHn9nepCMiYQMjX7ApZw0isDPeVK5EuQeImgu7uNoV8R5VwG0XoBCXz4S
14 | UqYv11uEsMqFu07Zwlznsxnm0uECAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgIEMA8G
15 | A1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI73GznmeECJOdxJAEzmjhYgGVKtMA0G
16 | CSqGSIb3DQEBCwUAA4IBgQAm19zlm3WVePflA6Zh/FxvE8MirrJF6jmJzRrBCEM5
17 | DwkSmY3dvONqCYeeNb4+xWXWQ8eVKVlPdkoW3V7H5xnJ63dXRNN2lQ3JpSTG3+yP
18 | Omp6XGY9mmatdHwyV7N4h10aKEWAuRhy148sdJZLYj0LbR42pCVYhEP4D3Qj7KjN
19 | PJe+cR8NSpiYmDH5y88Jqubztj5NVcDj/iN9h/7/GajbU6lCgN/SxZgi9cNGjxSb
20 | JHFHE2Mp3z9sjsieTXMplLqK045TQ2IBqnJyMdKkvSNkRUCbz2yXdiIOKtvU4ly0
21 | h884z9P5JQ9bxe+6cwYC4ky3G5WYMn++RUsuCk4ScsrbZtM9jpKnz/TygMdVTC5w
22 | Siq6OHKtAnh8Ax1LEKicg9FLd6ODxR3OVKu+fUPV4XHAWJnmvElGlivjneHiE+OL
23 | dzgb/CfBEGHYBVc2PDIhwBmUdoEZ/t3UjvmSI46ZblYpWodJvLFwge2HxSivRlLW
24 | Uh/oPWX5N/CH9I34HTAhI48=
25 | -----END CERTIFICATE-----
26 |
--------------------------------------------------------------------------------
/nixos/raspberry-pi.nix:
--------------------------------------------------------------------------------
1 | { config, pkgs, inputs, makeEnable, ... }:
2 |
3 | makeEnable config "myModules.raspberry-pi" false {
4 | imports = [
5 | inputs.nixos-hardware.nixosModules.raspberry-pi-4
6 | ];
7 | # These are needed to allow hardware acceleration again
8 | # https://github.com/NixOS/nixos-hardware/issues/631
9 | boot.kernelParams = [ "kunit.enable=0" ];
10 | hardware.deviceTree.filter = "bcm2711-rpi-4*.dtb";
11 | hardware.raspberry-pi."4".fkms-3d.enable = true;
12 | # hardware.raspberry-pi."4".audio.enable = true;
13 |
14 | boot = {
15 | initrd.systemd.tpm2.enable = false;
16 | initrd.availableKernelModules = [
17 | "usbhid"
18 | "usb_storage"
19 | "vc4"
20 | "pcie_brcmstb" # required for the pcie bus to work
21 | "reset-raspberrypi" # required for vl805 firmware to load
22 | ];
23 |
24 | loader = {
25 | grub.enable = false;
26 | generic-extlinux-compatible.enable = true;
27 | };
28 | };
29 |
30 | boot.extraModulePackages = [ ];
31 |
32 | hardware.enableRedistributableFirmware = true;
33 |
34 | # networking.useDHCP = true;
35 | networking.interfaces.eth0.useDHCP = true;
36 | networking.interfaces.wlan0.useDHCP = true;
37 |
38 | powerManagement.cpuFreqGovernor = "ondemand";
39 |
40 | environment.systemPackages = with pkgs; [
41 | raspberrypi-eeprom
42 | ];
43 |
44 | environment = {
45 | # This allows alacritty to run
46 | extraInit = ''
47 | export LIBGL_ALWAYS_SOFTWARE=1
48 | '';
49 | };
50 |
51 | nix = {
52 | # auto-optimise-store = true;
53 | gc = {
54 | automatic = true;
55 | dates = "weekly";
56 | options = "--delete-older-than 30d";
57 | };
58 | };
59 | }
60 |
--------------------------------------------------------------------------------
/nixos/runc-overlay.nix:
--------------------------------------------------------------------------------
1 | final: prev: {
2 | runc = prev.runc.overrideAttrs (_: {
3 | src = prev.fetchFromGitHub {
4 | repo = "runc";
5 | owner = "colonelpanic8";
6 | rev = "4b809881415e99247d8dea2eda862491dbc9acd2";
7 | sha256 = "sha256-XOslGNu+ix52938SnnhmWKUaZaTQx9+/o74tnAjmo3I=";
8 | };
9 | });
10 | }
11 |
--------------------------------------------------------------------------------
/nixos/secrets.nix:
--------------------------------------------------------------------------------
1 | { inputs, pkgs, ... }: {
2 | home-manager.users.imalison = ({ config, ... }: {
3 | imports = [ inputs.agenix.homeManagerModules.default ];
4 | age.identityPaths = [ "${config.home.homeDirectory}/.ssh/id_ed25519" ];
5 | home.packages = [
6 | inputs.agenix.packages."${pkgs.system}".default
7 | ];
8 | age.secrets.gpg-keys.file = ./secrets/gpg-keys.age;
9 | age.secrets.gpg-passphrase.file = ./secrets/gpg-passphrase.age;
10 |
11 | systemd.user.services.import-gpg-key = {
12 | Unit = {
13 | Description = "Import GPG private key";
14 | After = [ "agenix.service" ];
15 | # 3 total retries
16 | StartLimitIntervalSec = 0;
17 | StartLimitBurst = 3;
18 | };
19 |
20 | Install.WantedBy = [ "default.target" ];
21 | Service = {
22 | Type = "oneshot";
23 | RestartSec = 5;
24 | Restart = "onfailure";
25 | ExecStart =
26 | let replace = builtins.replaceStrings [ "$XDG_RUNTIME_DIR" ] [ "\${XDG_RUNTIME_DIR}" ];
27 | path = replace config.age.secrets.gpg-keys.path;
28 | passphrasePath = replace config.age.secrets.gpg-passphrase.path;
29 | in "${pkgs.gnupg}/bin/gpg --pinentry-mode loopback --passphrase-file ${passphrasePath} --import ${path}";
30 | };
31 | };
32 | });
33 | }
34 |
--------------------------------------------------------------------------------
/nixos/secrets/1896Folsom-k3s-token.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/1896Folsom-k3s-token.age
--------------------------------------------------------------------------------
/nixos/secrets/api_service_account_key.json.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/api_service_account_key.json.age
--------------------------------------------------------------------------------
/nixos/secrets/cache-priv-key.pem.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/cache-priv-key.pem.age
--------------------------------------------------------------------------------
/nixos/secrets/cache-pub-key.pem:
--------------------------------------------------------------------------------
1 | cache.railbird.ai:KhnvcouxtIU2zxUcjJsm4bUK3o1S3p8xMf9qfZGF7/A=
--------------------------------------------------------------------------------
/nixos/secrets/discourse-admin-password.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/discourse-admin-password.age
--------------------------------------------------------------------------------
/nixos/secrets/discourse-secret-key-base.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/discourse-secret-key-base.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.adele.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.adele.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.biskcomp.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.biskcomp.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.jimi-hendnix.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.jimi-hendnix.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.mac-demarco-mini.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.mac-demarco-mini.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.nixquick.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.nixquick.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.railbird-sf.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.railbird-sf.age
--------------------------------------------------------------------------------
/nixos/secrets/gitea-runner-token.ryzen-shine.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gitea-runner-token.ryzen-shine.age
--------------------------------------------------------------------------------
/nixos/secrets/google-assistant-integration-service-key.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/google-assistant-integration-service-key.age
--------------------------------------------------------------------------------
/nixos/secrets/gpg-keys.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gpg-keys.age
--------------------------------------------------------------------------------
/nixos/secrets/gpg-passphrase.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/gpg-passphrase.age
--------------------------------------------------------------------------------
/nixos/secrets/k3s-registry.yaml.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/k3s-registry.yaml.age
--------------------------------------------------------------------------------
/nixos/secrets/nextcloud-admin.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/nextcloud-admin.age
--------------------------------------------------------------------------------
/nixos/secrets/org-api-passwords.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/org-api-passwords.age
--------------------------------------------------------------------------------
/nixos/secrets/ryzen-shine-kubernetes-token.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/ryzen-shine-kubernetes-token.age
--------------------------------------------------------------------------------
/nixos/secrets/secrets.nix:
--------------------------------------------------------------------------------
1 | let keys = (import ../keys.nix);
2 | in
3 | {
4 | "gpg-keys.age".publicKeys = keys.agenixKeys;
5 | "gpg-passphrase.age".publicKeys = keys.agenixKeys;
6 | "cache-priv-key.pem.age".publicKeys = keys.agenixKeys;
7 | "gitea-runner-token.biskcomp.age".publicKeys = keys.agenixKeys;
8 | "gitea-runner-token.ryzen-shine.age".publicKeys = keys.agenixKeys;
9 | "gitea-runner-token.nixquick.age".publicKeys = keys.agenixKeys;
10 | "gitea-runner-token.jimi-hendnix.age".publicKeys = keys.agenixKeys;
11 | "gitea-runner-token.adele.age".publicKeys = keys.agenixKeys;
12 | "gitea-runner-token.railbird-sf.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
13 | "gitea-runner-token.mac-demarco-mini.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
14 | "gitea-runner-token.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
15 | "nextcloud-admin.age".publicKeys = keys.agenixKeys;
16 | "ryzen-shine-kubernetes-token.age".publicKeys = keys.agenixKeys;
17 | "1896Folsom-k3s-token.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
18 | "api_service_account_key.json.age".publicKeys = keys.agenixKeys;
19 | "k3s-registry.yaml.age".publicKeys = keys.agenixKeys ++ keys.railbird-sf;
20 | "discourse-admin-password.age".publicKeys = keys.hostKeys;
21 | "discourse-secret-key-base.age".publicKeys = keys.hostKeys;
22 | "vaultwarden-environment-file.age".publicKeys = keys.hostKeys;
23 | "org-api-passwords.age".publicKeys = keys.hostKeys ++ keys.kanivanKeys;
24 | "google-assistant-integration-service-key.age".publicKeys = keys.hostKeys ++ keys.kanivanKeys;
25 | "zwave-js.json.age".publicKeys = keys.hostKeys ++ keys.kanivanKeys;
26 | }
27 |
--------------------------------------------------------------------------------
/nixos/secrets/vaultwarden-environment-file.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/vaultwarden-environment-file.age
--------------------------------------------------------------------------------
/nixos/secrets/zwave-js.json.age:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/colonelpanic8/dotfiles/a244ee2223c0b49c3527549e2b68cffaa42b598c/nixos/secrets/zwave-js.json.age
--------------------------------------------------------------------------------
/nixos/ssh.nix:
--------------------------------------------------------------------------------
1 | { pkgs, ... }:
2 | {
3 | # TODO: reenable
4 | # security.pam.sshAgentAuth.enable = true;
5 | services.avahi = {
6 | enable = true;
7 | nssmdns4 = true;
8 | nssmdns6 = true;
9 | publish = {
10 | enable = true;
11 | domain = true;
12 | workstation = true;
13 | userServices = true;
14 | addresses = true;
15 | hinfo = true;
16 | };
17 | extraServiceFiles = {
18 | ssh = "''${pkgs.avahi}/etc/avahi/services/ssh.service";
19 | };
20 | };
21 |
22 | services.openssh = {
23 | enable = true;
24 | settings = {
25 | AllowAgentForwarding = true;
26 | AllowTcpForwarding = true;
27 | PasswordAuthentication = false;
28 | X11Forwarding = true;
29 | };
30 | };
31 |
32 | programs.ssh = {
33 | forwardX11 = false;
34 | setXAuthLocation = true;
35 | knownHosts = {
36 | github = {
37 | hostNames = ["github.com"];
38 | publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
39 | };
40 | gitlab = {
41 | hostNames = ["gitlab.com"];
42 | publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf";
43 | };
44 | };
45 | };
46 | }
47 |
--------------------------------------------------------------------------------
/nixos/tts.nix:
--------------------------------------------------------------------------------
1 | { config, makeEnable, ... }:
2 | makeEnable config "myModules.tts" false {
3 | services.tts.servers.coqui = {
4 | enable = true;
5 | useCuda = false;
6 | port = 11115;
7 | };
8 | }
9 |
--------------------------------------------------------------------------------
/nixos/user-specific.nix:
--------------------------------------------------------------------------------
1 | {
2 | home-manager.users.micah = {pkgs, ...}: {
3 | home.packages = [
4 | pkgs.neovim
5 | ];
6 | };
7 | }
8 |
--------------------------------------------------------------------------------
/nixos/vscode.nix:
--------------------------------------------------------------------------------
1 | { inputs, config, makeEnable, forEachUser, ... }:
2 | makeEnable config "myModules.vscode" true {
3 | home-manager.users = forEachUser {
4 | imports = [inputs.vscode-server.homeModules.default];
5 | services.vscode-server.enable = true;
6 | };
7 | }
8 |
--------------------------------------------------------------------------------
/nixos/wsl.nix:
--------------------------------------------------------------------------------
1 | { config, inputs, pkgs, makeEnable, ... }:
2 | makeEnable config "myModules.wsl" false {
3 | imports = [
4 | inputs.nixos-wsl.nixosModules.wsl
5 | ];
6 |
7 | myModules.base.enable = false;
8 | myModules.desktop.enable = false;
9 | myModules.xmonad.enable = false;
10 | myModules.plasma.enable = false;
11 |
12 | services.tzupdate.enable = true;
13 |
14 | wsl.wslConf.automount.root = "/mnt";
15 |
16 | wsl = {
17 | enable = true;
18 | startMenuLaunchers = true;
19 | nativeSystemd = true;
20 | };
21 | }
22 |
--------------------------------------------------------------------------------
/nixos/wyoming.nix:
--------------------------------------------------------------------------------
1 | { pkgs, config, makeEnable, ... }:
2 | makeEnable config "myModules.wyoming" false {
3 | environment.systemPackages = with pkgs; [
4 | alsa-utils
5 | ];
6 | systemd.services."wyoming-satellite".path = with pkgs; [pipewire pulseaudio];
7 | services.wyoming = {
8 | satellite = {
9 | enable = true;
10 | user = "imalison";
11 | uri = "tcp://0.0.0.0:10700";
12 | microphone = {
13 | # command = "pw-record --channels 1 -";
14 | command = "pacat --record --raw --format=s16le --channels=1 --rate=16000";
15 | };
16 | extraArgs = [
17 | "--wake-uri=tcp://0.0.0.0:10400"
18 | "--wake-word-name=ok_nabu"
19 | "--awake-wav=${./notification-sound.wav}"
20 | ];
21 | };
22 | openwakeword = {
23 | enable = true;
24 | preloadModels = ["alexa" "ok_nabu" "hey_rhasspy"];
25 | uri = "tcp://0.0.0.0:10400";
26 | };
27 |
28 | faster-whisper.servers."${config.networking.hostName}-whisper" = {
29 | enable = true;
30 | uri = "tcp://0.0.0.0:10300";
31 | device = "auto";
32 | language = "en";
33 | model = "turbo";
34 | };
35 |
36 | piper.servers."${config.networking.hostName}-piper" = {
37 | enable = true;
38 | uri = "tcp://0.0.0.0:10200";
39 | voice = "en-us-ryan-medium";
40 | };
41 | };
42 | }
43 |
--------------------------------------------------------------------------------
/rcm-link.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | export THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 | export DOTFILES_DIR="$(readlink -f $THIS_DIR/dotfiles)"
5 |
6 | echo $DOTFILES_DIR
7 | rcup -d $DOTFILES_DIR -S "emacs.d" -S "config/*" -S "lib" -S xkb
8 |
--------------------------------------------------------------------------------