1
0
forked from extern/nix-config

Compare commits

...

1808 Commits

Author SHA1 Message Date
Donovan Glover
bb3792d748
fcitx: Use wayland front-end for GTK
Fixes the warning notification shown on boot.
2024-01-13 00:39:29 -05:00
Donovan Glover
4a7d310d9f
docker: Drop podman
This fixes an issue where podman was causing NixOS virtual machines
(which depend on QEMU) to not start with the following error:

qemu-kvm: could not stat pidfile /run/user/1000/pulse/pid: No such file or directory
2024-01-13 00:31:31 -05:00
Donovan Glover
c4b766309d
neovim: Drop image-nvim for now
image-nvim is currently broken in nixpkgs, however it should be fixed
with an open pull request.
2024-01-13 00:30:35 -05:00
Donovan Glover
d9da12efe7
chore: Update packages
Trying out sqlcipher since it's supposed to be like SQLite but
encrypted.
2024-01-12 07:21:51 -05:00
Donovan Glover
77b1715c2f
chore: Re-enable typst-lsp
Build is fixed now.
2024-01-12 07:21:13 -05:00
Donovan Glover
f42793623d
neovim: Replace vim-nix-rummik with treesitter
This was my attempt at replacing vim-nix-rummik with treesitter. Note
that there was actually a case where inline yaml wasn't highlighted at
all, so I'll probably stick to the tried and true vim-nix-rummik, even
if it has the parentheses bug with lua.
2024-01-12 04:29:19 -05:00
Donovan Glover
49cc04114e
neovim: Enable treesitter highlighting
This works, however some of the syntax highlighting with treesitter
feels worse compared to the default syntax highlighting, so it may be
more useful to keep it disabled.
2024-01-12 04:26:02 -05:00
Donovan Glover
864ed55261
docker: Add podman
This was my attempt at using Podman on NixOS. Although it worked and was
cool, Podman actually breaks audio for QEMU VMs and results in an error
message that returns 0 hits on search engines.
2024-01-12 04:18:39 -05:00
Donovan Glover
a070bb5531
virtualization: Enable resolvconf
Fixes network connectivity in the virtual machine. Necessary due to the
change to the Mullvad packaging that required resolvconf to be disabled
on the host.
2024-01-12 04:15:25 -05:00
Donovan Glover
01cfcc43d2
chore: Update to latest nixos-unstable-small release
Notably includes Hyprland v0.34.0 for testing.
2024-01-12 04:07:22 -05:00
Donovan Glover
b38a49d37b
qutebrowser: Don't artificially change webpage colors
I like seeing the original designs of websites.
2024-01-07 18:45:27 -05:00
Donovan Glover
db42c4c4b6
qutebrowser: Re-enable auto insert mode
Note that I may drop qutebrowser later since I don't use it regularly.
2024-01-07 18:42:45 -05:00
Donovan Glover
2175863971
chore: Remove dead code
Note that I no longer use the untrack-url script.
2024-01-06 00:41:28 -05:00
Donovan Glover
1363c3800f
feat: Add cargo-edit
Used for the "cargo upgrade" command, which also updates the Cargo.toml.

Should eventually be upstreamed to cargo. Currently cargo-edit has some
issues with the index it uses, resulting in long loading times.

See: https://internals.rust-lang.org/t/feedback-on-cargo-upgrade-to-prepare-it-for-merging/17101
2024-01-05 23:02:11 -05:00
Donovan Glover
531baa9678
eww: Use default folder icon
This seems to go well with more colorful backgrounds overall.
2024-01-05 19:12:27 -05:00
Donovan Glover
78b7efb192
chore: Update packages 2024-01-05 19:09:04 -05:00
Donovan Glover
4188ae930d
hyprland: Use all backgrounds
The year is now 2024.
2024-01-05 19:07:22 -05:00
Donovan Glover
91a708c123
packages: Use lutgen to customize fluent-icons
Now the icons follow the monokai color scheme.
2024-01-05 19:06:24 -05:00
Donovan Glover
6f2693ed62
mpv: Fullscreen by default
Usually this is what we want.
2024-01-02 18:53:56 -05:00
Donovan Glover
7b7d967250
Revert "eww: Switch from fluent icons to candy icons"
Note that I may experiment with lutgen to make folder icons that match
the color scheme.
2024-01-02 18:51:49 -05:00
Donovan Glover
57dfa43776
chore: Update LICENSE 2024-01-02 18:19:51 -05:00
Donovan Glover
860708e232
chore: Update flake inputs
This shouldn't break anything.
2024-01-02 18:18:39 -05:00
Donovan Glover
ec53d3f5aa
packages: Add pnpm-shell-completion
Not perfect but works for my use case.
2024-01-02 18:08:13 -05:00
Donovan Glover
5c29be9a01
neovim: Make commenting work with jsx/tsx 2023-12-30 17:36:13 -05:00
Donovan Glover
733cc14b0d
chore: Fix embarrassing typo 2023-12-30 06:17:36 -05:00
Donovan Glover
d44114519a
neovim: Add tailwindcss-colors.nvim
May be upstreamed by https://github.com/NixOS/nixpkgs/pull/277632
2023-12-29 19:47:14 -05:00
Donovan Glover
ac3699fd6e
mpv: Drop gpu-hq profile for now
This setting causes some videos to experience lagginess on my iGPU. In
the future it may be useful to enable the new profile "high-quality" if
I have a dedicated GPU.

Note that in addition to setting the profile to high-quality, it's also
possible to use "vo=gpu-next".

See: 703f158880
2023-12-29 18:15:49 -05:00
Donovan Glover
859015cbc0
neovim: Add missing eslint capabilities 2023-12-29 17:56:32 -05:00
Donovan Glover
0c3624abd6
neovim: Add sql language server support 2023-12-29 17:54:56 -05:00
Donovan Glover
86351c48f5
fish: Make prisma work outside of dev shell
More convenient for me personally.
2023-12-29 17:53:38 -05:00
Donovan Glover
c4e41421da
chore: Simplify formatting 2023-12-29 17:52:47 -05:00
Donovan Glover
360898f626
neovim: Use eslint with nvim-lspconfig
Note that sometimes you may need to disable autosave with :ASToggle
since JavaScript code is also automatically formatted on save.
2023-12-29 17:33:52 -05:00
Donovan Glover
d5fe4c2118
chore: Update flake inputs 2023-12-26 16:44:10 -05:00
Donovan Glover
c77be65f86
feat: Add cargo-tarpaulin
Used for Rust code coverage.
2023-12-21 14:01:51 -05:00
Donovan Glover
73af280971
joshuto: Make previews work for .tsx/.jsx files 2023-12-21 14:00:10 -05:00
Donovan Glover
10f1388912
chore: Fix indentation 2023-12-20 19:22:24 -05:00
Donovan Glover
bd67cf43a9
joshuto: Ensure TypeScript/JavaScript files show previews 2023-12-20 19:18:30 -05:00
Donovan Glover
5a08ca328c
neovim: Use yats-vim for TypeScript syntax highlighting
This fixes an issue where `import`s with `type` in them would cause
syntax highlighting to break in neovim.

See: https://github.com/vim/vim/issues/11652
2023-12-20 18:24:06 -05:00
Donovan Glover
7fde54fa58
neovim: Add nvim-surround
This classic plugin makes refactoring in languages that use curly braces
much easier.
2023-12-20 18:19:37 -05:00
Donovan Glover
328a912148
neovim: Use :NvimTreeFocus for <leader>a
Fixes an issue where the previous binding conflicted with the tagbar not
accepting space keybinds.
2023-12-20 18:16:19 -05:00
Donovan Glover
0d6edc043a
mpv: Use uosc script for ui
This script has pretty much everything one would want in a user
interface for mpv, including playlist support.
2023-12-18 03:47:48 -05:00
Donovan Glover
c4827c1b62
mpv: Replace mpv_thumbnail_script with thumbfast
There was a recent issue with the mpv thumbnail script that caused
certain videos to spawn many processes in parallel, thus causing 100%
CPU usage.
2023-12-18 03:43:02 -05:00
Donovan Glover
bcf54f4cb4
wine: Downgrade from 9.0-rc1-staging to 8.2
Fixes an issue where the newer version of wine would cause my current
wine prefixes to crash with missing DLL errors. Might be fixable by
creating new prefixes with the new version, however it's much easier
for me to stick with what's known to work.

See: https://github.com/NixOS/nixpkgs/pull/273232
2023-12-15 02:31:32 -05:00
Donovan Glover
253fd9fbd4
chore: Update sakaya
Fixes an issue where the port number was incorrect.
2023-12-15 02:23:59 -05:00
Donovan Glover
8242938fc9
nix: Update version to 2.19.2
This fixes an issue where nixFlakes (the stable version of Nix) would
fail when running nixos-rebuild if a path contained non-ASCII
characters.
2023-12-14 23:49:04 -05:00
Donovan Glover
4132163b99
chore: Update flake inputs 2023-12-14 23:48:32 -05:00
Donovan Glover
05db074456
hyprland(grimblast): Freeze when taking screenshots 2023-12-13 18:18:18 -05:00
Donovan Glover
40adb9b3d9
neovim: Add cosco-vim
I tried this for a few days and although the auto-semicolons were cool,
they'd sometimes get in the way. I haven't used the keybind much at all
however, so I may remove this in the future.
2023-12-13 08:29:09 -05:00
Donovan Glover
13dad50841
fish: Use fish shell when running nixpkgs-review
This makes things a lot nicer.
2023-12-13 05:43:57 -05:00
Donovan Glover
442bdbcbe7
overlays: Remove ripgrep
Not needed anymore since nixos-unstable has 14.0.3.
2023-12-13 05:43:07 -05:00
Donovan Glover
e16c8f1906
nix: Don't warn when git tree is dirty
I run `git status` frequently enough that I already know when the tree
is dirty. Additionally, the starship prompt shows the git status anyway.
2023-12-13 05:40:52 -05:00
Donovan Glover
5fb3f38f62
chore: Update flake inputs
Kernel version is now 6.1.67 to avoid the ext4 data corruption bug.

Additionally, typst-lsp had to be removed since it fails to build. No
solution has been posted in the GitHub issue yet.
2023-12-13 05:39:16 -05:00
Donovan Glover
6a050b4302
flake.nix: Switch back to nix-community/home-manager
The docs patch is now merged upstream.
2023-12-12 18:29:57 -05:00
Donovan Glover
8c58360fc5
hyprland(swww): Use seasonal backgrounds
It's that time of year again.
2023-12-07 19:13:28 -05:00
Donovan Glover
f4b2b6b586
ironbar: Manually set opacity
Fixes an issue where nix would show a warning about floatToString being
used.
2023-12-07 19:12:33 -05:00
Donovan Glover
ea6ef79862
home-manager: Use docs branch
Fixes an issue where home-manager would show optionsDocBook warnings on
every nixos-rebuild.
2023-12-07 19:11:10 -05:00
Donovan Glover
20d8e7732c
chore: Update flake inputs 2023-12-07 18:59:59 -05:00
Donovan Glover
9c0f97326c
packages: Update osu-backgrounds 2023-12-07 17:49:56 -05:00
Donovan Glover
341bfea7fa
eww: Switch from fluent icons to candy icons 2023-12-07 17:48:26 -05:00
Donovan Glover
91cd533c28
neovim: Fix nvim-cmp usage with denols/tsserver
This commit removes the duplicate setup {} commands.

It also fixes typst being set up without its respective settings.
2023-12-05 14:40:28 -05:00
Donovan Glover
c9e52534d2
chore: Update flake inputs
emmet-language-server is now in nixos-unstable.
2023-12-04 14:34:48 -05:00
Donovan Glover
90f5bd4b59
neovim: Remove denols from nvim-cmp capabilities
Fixes an issue where React would not be found in Next.js projects.
2023-12-03 16:46:55 -05:00
Donovan Glover
43ec993d49
neovim: Add tailwindcss language server support
Should make working with tailwindcss easier.
2023-12-03 16:27:37 -05:00
Donovan Glover
0920214e98
neovim: Add prisma language server support 2023-12-03 16:20:19 -05:00
Donovan Glover
0b68a42070
neovim: Enable nvim-cmp support for all language servers 2023-12-03 16:10:55 -05:00
Donovan Glover
1ff94843d1
mpv: Simplify osc toggle to ctrl+a
I never change the aspect ratio of a video, so overriding this keybind
works well.
2023-12-03 15:57:53 -05:00
Donovan Glover
bf3b794bcb
neovim: Replace emmet-ls with emmet-language-server
Note that emmet-language-server isn't in nixos-unstable yet.

See: https://github.com/NixOS/nixpkgs/pull/255524
2023-12-03 15:54:33 -05:00
Donovan Glover
98f0eaf336
neovim: Auto-close tags with nvim-ts-autotag
In the rare event that emmet isn't used, nvim-ts-autotag auto-closes
tags when > is typed.
2023-12-03 15:45:22 -05:00
Donovan Glover
9842004ba9
neovim: Add community snippets with friendly-snippets
This makes it easier to make for loops and other fun stuff.
2023-12-03 15:39:30 -05:00
Donovan Glover
93bd51bd35
neovim: Add Emmet support
I used Emmet years ago but at some point preferred Pug in Vue. Now that
I use React more, this should make creating tags in JSX easier.

The emmet language server is particularly useful since it becomes
possible to tab complete HTML tags.
2023-12-03 09:07:06 -05:00
Donovan Glover
afc0bcd1f1
neovim: Add autocompletion support with nvim-cmp
Did not expect this to work on the first try but it did. Taken directly
from the nvim-lspconfig wiki.

https://github.com/neovim/nvim-lspconfig/wiki/Autocompletion
2023-12-03 07:59:51 -05:00
Donovan Glover
3b5b6782ca
neovim: Add ctags support with tagbar
5 years later and ctags seem to work better, so I've decided to add them
again mainly for Rust.
2023-12-02 13:34:12 -05:00
Donovan Glover
4593d74d8c
meta: Remove cmus
Not needed since I prefer ncmpcpp and the playback issues I had
previously seem to be fixed now.
2023-12-02 11:08:49 -05:00
Donovan Glover
5beb9ca079
joshuto: Remove deprecated sizemtime
Deprecated in v0.9.6.
2023-12-01 00:27:47 -05:00
Donovan Glover
25a413507d
kitty: Make icons work in scrollback pager
A recent update caused icons to no longer be rendered when using kitty's
scrollback feature. This fixes that.
2023-11-30 23:27:42 -05:00
Donovan Glover
1155978979
starship: Disable rust indicator
Not really necessary since I know when I'm working in a Rust project and
the version number isn't relevant in most cases.
2023-11-30 23:21:00 -05:00
Donovan Glover
f7a9dc27b8
starship: Disable bun indicator
Avoids making the prompt line too long.
2023-11-30 23:20:31 -05:00
Donovan Glover
7095056ebe
packages: Add satty 2023-11-30 23:04:29 -05:00
Donovan Glover
c7415ebe69
networking: Disable resolvconf
Fixes an issue where newer versions of the Mullvad module would cause
websites to not resolve.

See: https://discourse.nixos.org/t/connected-to-mullvadvpn-but-no-internet-connection/35803
2023-11-30 23:02:50 -05:00
Donovan Glover
59ec861754
overlays: Update ripgrep to 14.0.3
Fixes an issue with fish completions in ripgrep 14.0.1.
2023-11-30 23:02:08 -05:00
Donovan Glover
56da65f34a
chore: Update flake inputs 2023-11-30 19:14:43 -05:00
Donovan Glover
b77820ea25
starship: Simplify nix format
Useful for `use flake` in .envrc
2023-11-30 19:12:23 -05:00
Donovan Glover
533094c1a9
hyprland: Add playerctl keybinds for mpv 2023-11-30 19:04:50 -05:00
Donovan Glover
36304461f0
hyprland: Remove WLR_NO_HARDWARE_CURSORS
Not needed anymore when outside of a virtual environment.
2023-11-30 18:57:46 -05:00
Donovan Glover
5c2625e4e2
fish: Add alias for npm-check-updates
A good replacement for yarn upgrade-interactive.
2023-11-30 18:56:57 -05:00
Donovan Glover
8b6fa08e71
hyprland: Don't dim mpv windows 2023-11-30 18:39:52 -05:00
Donovan Glover
157ec2b7a2
fish(eza): Don't quote directories with spaces
Not needed since icons are used.
2023-11-20 13:33:51 -05:00
Donovan Glover
770f8dde0a
hyprland(swww): Fix incorrect background script 2023-11-19 16:11:32 -05:00
Donovan Glover
ad9500925d
fish: Add nixpkgs-review abbreviation 2023-11-19 06:37:50 -05:00
Donovan Glover
f4b0c41289
hyprland(swww): Randomize background on all monitors 2023-11-19 06:37:21 -05:00
Donovan Glover
1c7aab6cc3
chore: Update flake inputs 2023-11-18 14:57:21 -05:00
Donovan Glover
9378fa8208
chore: Update packages 2023-11-18 14:54:19 -05:00
Donovan Glover
5046c0fa2e
stylix: Style cursor with new option 2023-11-18 14:52:48 -05:00
Donovan Glover
16d5607dbc
joshuto: Make typescript files open with neovim 2023-11-16 16:12:02 -05:00
Donovan Glover
385263f91a
hyprland: Revert seasonal backgrounds 2023-11-16 16:11:09 -05:00
Donovan Glover
2553258bc3
fish: Add abbreviation for zathura 2023-11-14 10:37:30 -05:00
Donovan Glover
f59bd9202a
hyprland: Don't mirror monitors
Not needed anymore since a recent hyprland update fixed the issue where
extended displays would experience lagginess.
2023-11-09 23:07:26 -05:00
Donovan Glover
c115dd88ef
chore: Update to latest nixos-unstable release 2023-11-03 19:37:26 -04:00
Donovan Glover
cc1da27091
neovim: Add treesitter grammars
Fixes an issue with the markdown grammar not being found and adds some
extra features such as highlighting the current indentation line.
2023-10-31 23:45:25 -04:00
Donovan Glover
b5d965b047
overlays: Downgrade eza to 0.14.2
Fixes an issue where newer versions of eza don't align CJK characters
properly. See: https://github.com/eza-community/eza/issues/556
2023-10-31 17:59:24 -04:00
Donovan Glover
1415b957b3
hyprland(swww): Use seasonal backgrounds
A very important change.
2023-10-31 11:59:04 -04:00
Donovan Glover
6b9f547088
fish(tree): Ignore dist directory
Necessary for Nuxt projects. Use joshuto or ls when interested in seeing
ignored directories and tree for a quick overview of a project.
2023-10-31 11:41:38 -04:00
Donovan Glover
85766665f8
fish(tree): Ignore .vercel directory
Necessary for Next.js projects.
2023-10-31 11:40:03 -04:00
Donovan Glover
5ee4d32229
fish(tree): Ignore .wrangler directory
There's usually nothing in this folder except an empty tmp directory, so
it should be safe to ignore.
2023-10-31 11:38:24 -04:00
Donovan Glover
e78cd2c9aa
packages: Update osu-backgrounds
An unfortunate change to the version number, but a necessary one.
2023-10-31 11:30:20 -04:00
Donovan Glover
a59dbb56e7
chore: Update to latest nixos-unstable release
- cmus patch added to prevent build failure
- fzf patch removed since it's now in nixos-unstable
- visidata will be fixed in https://github.com/NixOS/nixpkgs/pull/264217
2023-10-31 10:55:29 -04:00
Donovan Glover
c8818cb104
fish(tree): Ignore .direnv directory 2023-10-30 20:26:26 -04:00
Donovan Glover
97e727f5a7
overlays: Update hyprnome to v0.2.0
The new version auto-closes special workspaces by default when
switching workspaces.
2023-10-30 20:24:14 -04:00
Donovan Glover
e397e85c30
chore: Upstream sakaya mime type
Makes it possible to open wine applications sandboxed by double clicking
them like regular files in Thunar and other file browsers.
2023-10-30 19:41:57 -04:00
Donovan Glover
fb9b1ea09c
chore(formatting): Use oldAttrs for overlays 2023-10-30 19:11:01 -04:00
Donovan Glover
f868c7094e
ironbar: Update class for mullvad browser 2023-10-30 14:29:26 -04:00
Donovan Glover
064b220d04
feat: Add cargo feature support
Makes it possible to check the features of crates.
2023-10-29 15:24:34 -04:00
Donovan Glover
72dbecfa78
feat: Update sakaya to latest commit
sakaya will now automatically choose 32-bit and 64-bit wine prefixes
based on the executable itself.
2023-10-29 15:19:57 -04:00
Donovan Glover
9cb52b29f9
fish: Add abbreviation for nix flake lock --update-input
Makes it possible to update single inputs instead of all inputs.
2023-10-29 15:13:14 -04:00
Donovan Glover
b18ccd3dfc
chore: Improve formatting 2023-10-29 15:11:57 -04:00
Donovan Glover
963ac19447
overlays: Patch fzf to prevent fzf_key_bindings error
I was going to wait until the next nixos-unstable release, but it's been
a week since the branch was updated. This commit makes it possible to
use the latest nixos-unstable release without worrying about the
fzf_key_bindings error introduced in the recent fzf update.
2023-10-25 13:51:06 -04:00
Donovan Glover
aca473ecb3
direnv: Disable logging
Makes it possible to use direnv without large amounts of text taking up
the terminal screen when changing directories.
2023-10-25 13:46:48 -04:00
Donovan Glover
103c78ead1
feat: Add direnv
Makes it possible to cd into directories with nix flakes and
automatically have a development environment set up.
2023-10-25 13:46:14 -04:00
Donovan Glover
44cc264f25
neovim: Add typst support
Typst documents may be more maintainable long-term than traditional
documents in TeX format.
2023-10-25 13:38:01 -04:00
Donovan Glover
0577eb2dba
docker: Don't enable on boot
Docker significantly increases the boot time since it turns 4 seconds
into 5.5. This fixes that.
2023-10-25 13:29:20 -04:00
Donovan Glover
430656091c
chore: Update packages 2023-10-25 13:29:02 -04:00
Donovan Glover
5329f5bcf3
fish: Add nvd abbreviation
This makes it possible to see the updates between the current system
configuration and one built with nixos-rebuild build-vm.
2023-10-25 13:27:47 -04:00
Donovan Glover
51530c8403
fish: Use XDG_DATA_DIRS for tauri applications
This fixes an issue where tauri applications would have small text when
ran outside of a nix shell after being built.
2023-10-25 13:26:45 -04:00
Donovan Glover
bab881b769
joshuto: Use icons for correct directory names 2023-10-25 13:25:55 -04:00
Donovan Glover
dbce433b41
chore: Update flake inputs 2023-10-25 13:25:24 -04:00
Donovan Glover
e977687af6
feat: Use upstream nixos-unstable branch
Since my changes are now upstreamed, I no longer need to use a personal
nixos-unstable branch. This makes it easier to use the source code of
the repository and simplifies the updating process.
2023-10-25 13:22:11 -04:00
Donovan Glover
d4100d0f1c
feat: Add back docker
Docker is actually useful for some things, and NixOS containers don't
replace pre-existing solutions with docker-compose files.
2023-10-15 11:24:54 -04:00
Donovan Glover
4365aa59fd
containers: Disable restartIfChanged
Makes it possible to use sakaya without worrying about the container
automatically restarting on config changes and closing all the wine
applications.

This was previously part of my personal nixpkgs branch but I turned it
into an option that should hopefully be upstreamed soon.
2023-10-10 18:55:31 -04:00
Donovan Glover
094c0c1092
chore: Update packages
Chromium is required for testing since qutebrowser exhibits some
irregular behaviors with things like fonts.
2023-10-10 18:25:05 -04:00
Donovan Glover
a0bae642b1
neovim: Add svelte support 2023-10-10 18:23:27 -04:00
Donovan Glover
291e00f102
chore: Update flake inputs 2023-10-10 18:22:08 -04:00
Donovan Glover
8e4723638a
git: Rebase by default when using git pull 2023-10-10 18:18:03 -04:00
Donovan Glover
998d574580
chore: Fix nix-collect-garbage abbreviation 2023-09-30 20:56:42 -04:00
Donovan Glover
086ee96cfd
chore: Update flake inputs 2023-09-30 13:17:42 -04:00
Donovan Glover
25b159c9cf
nvim(image-nvim): Limit image width to 40% 2023-09-30 13:16:50 -04:00
Donovan Glover
5d12aaacb0
neovim: Conditionally load denols/tsserver
Makes it possible to use both Deno and Node/Bun projects with the same
config.
2023-09-30 11:08:37 -04:00
Donovan Glover
b8c3b2504f
feat: Add biome 2023-09-30 10:54:06 -04:00
Donovan Glover
7502a044e7
chore: Prefer hash over sha256 2023-09-30 10:39:10 -04:00
Donovan Glover
90cdfa1bcd
fish: Add bun abbreviations 2023-09-27 12:33:26 -04:00
Donovan Glover
dec95f0fbc
chore: Update flake inputs 2023-09-27 12:32:55 -04:00
Donovan Glover
d3aa3bf65a
packages: Uncomment fixed package builds 2023-09-27 12:32:35 -04:00
Donovan Glover
89f6c7f65d
chore: Update flake inputs 2023-09-22 08:18:36 -04:00
Donovan Glover
9f09751a8f
Revert "overlays(zola): Potentially fix race condition"
This didn't actually fix things.
2023-09-21 22:10:18 -04:00
Donovan Glover
a6ff3122b9
chore: Remove hyprland overlay
Not needed now that 0.29.1 is in nixos-unstable.
2023-09-21 22:09:24 -04:00
Donovan Glover
7c246e6a09
overlays(zola): Potentially fix race condition 2023-09-17 16:06:42 -04:00
Donovan Glover
4b3412d6aa
chore: Update flake inputs
Mainly for srb2 2.2.13.
2023-09-13 10:46:46 -04:00
Donovan Glover
281664b6d8
overlays: Patch zola serve fix for config.toml changes 2023-09-13 10:37:02 -04:00
Donovan Glover
3a6c2f44ed
feat: Add bun
Will be trying out bun to see how it compares to deno and other tools.
2023-09-12 17:02:23 -04:00
Donovan Glover
2260433c47
chore: Update flake inputs
Mainly for bun now that v1.0.0 is in nixos-unstable.
2023-09-12 16:58:29 -04:00
Donovan Glover
c45221add7
flake.nix: Use new personal-unstable branch
This one is a lot simpler without all the merge commits in the history.

I should be able to eventually upstream the changes I made to
nixos-containers once I understand how to make those changes
configuration options.
2023-09-12 16:31:40 -04:00
Donovan Glover
7858a0f99a
docs: Add new cover image
This was a tough choice, but I decided that the benefit of making the
image a permanent part of the repository outweighs the increase in file
size.
2023-09-12 16:09:08 -04:00
Donovan Glover
23e242090f
chore: Remove extra line 2023-09-12 15:29:42 -04:00
Donovan Glover
964b6f7e9b
fish: Add git submodule abbreviations 2023-09-12 15:28:43 -04:00
Donovan Glover
7bd3302f51
fish(tree): Ignore zola themes directory 2023-09-12 15:28:21 -04:00
Donovan Glover
06b44290b1
ncmpcpp: Use an existing image as the default 2023-09-12 15:27:28 -04:00
Donovan Glover
1b5b8e827b
joshuto: Use correct directory for downloads 2023-09-12 15:26:29 -04:00
Donovan Glover
b05b274d35
ironbar: Slightly decrease icon size
This makes the bar take up the same amount of space as Microsoft
operating systems.
2023-09-12 15:24:33 -04:00
Donovan Glover
f445bc713b
ironbar: Add name to bar
This makes it possible to do things with the bar such as toggle it
without killing it, however I like the advantages that restarting
ironbar completely give.
2023-09-12 15:22:56 -04:00
Donovan Glover
3187b2efcf
networking: Allow zola port 2023-09-12 15:21:19 -04:00
Donovan Glover
464fbeb750
qutebrowser: Update downloads directory 2023-09-04 10:55:41 -04:00
Donovan Glover
8274a57b15
ncmpcpp: Update music directory 2023-09-01 13:23:12 -04:00
Donovan Glover
e1c14f0cb4
hyprland: Separate overlay toggle from bar 2023-08-31 19:09:18 -04:00
Donovan Glover
eb6189e51c
meta: Reference original sources for non-trivial code 2023-08-31 19:08:14 -04:00
Donovan Glover
db6d262864
fish: Add deno abbreviations 2023-08-31 16:17:36 -04:00
Donovan Glover
abadce3a96
flake.nix: Use stylix from upstream
Although I originally wanted to make some cool pull requests for stylix,
it turns out that adding such features would be non-trivial due to the
lack of home-manager support. Since I implemented the functionality I
wanted in my own config already, there's no need to maintain a separate
stylix branch.
2023-08-31 15:55:50 -04:00
Donovan Glover
d61f4b16a5
flake.nix: Use home-manager from upstream
Although maintaining my own home-manager repository was a nice learning
exercise, I don't contribute to home-manager enough to warrant having a
personal branch.

Since my pqiv pull request was merged upstream, my branch is basically
the same as upstream anyway.
2023-08-31 15:52:47 -04:00
Donovan Glover
7db1ecda37
chore: Fix formatting 2023-08-31 14:16:29 -04:00
Donovan Glover
f4d23d6784
refactor(containers): Abstract common config
This makes it possible to create multiple containers without duplicating
code. This may be useful for having an internet container and a no
internet container.
2023-08-31 14:08:37 -04:00
Donovan Glover
596a9183f8
meta(containers): Rename common.nix to shared.nix
This makes it easier to tab complete the default.nix, which is edited
more often.
2023-08-31 13:49:13 -04:00
Donovan Glover
877341abe5
meta(containers): Move setup script to common.nix
This makes it easier to associate that the file is used by containers.
2023-08-31 13:48:02 -04:00
Donovan Glover
56fc0c0cff
meta(containers): Rename wine.nix to default.nix
Since this is now the only container, having it as default.nix makes
sense.
2023-08-31 13:46:50 -04:00
Donovan Glover
24b658ed4b
meta(containers): Remove old default.nix 2023-08-31 13:46:06 -04:00
Donovan Glover
5c38772eca
containers: Merge dev container with setup
This change further reduces build times, removes duplicate code, and
makes things simpler overall.
2023-08-31 13:24:27 -04:00
Donovan Glover
374a7cbe19
hyprland: Add slidefade animation patch
This works however I prefer the current non-fading animations for now.
2023-08-31 13:06:21 -04:00
Donovan Glover
460b60bb9f
chore: Update packages 2023-08-31 12:39:37 -04:00
Donovan Glover
176a40b57b
ci: Replace crystal with deno
Although I've used Crystal for a number of years, it just can't compare
to the modern JavaScript/TypeScript development experience.
2023-08-31 12:37:40 -04:00
Donovan Glover
851d2aa212
treefmt: Replace crystal with deno
Deno is the future.
2023-08-31 12:25:45 -04:00
Donovan Glover
7e556f756e
containers(wine): Make unfree whitelist work
Unfortunately this is necessary to whitelist unfree packages inside the
container.
2023-08-31 11:55:24 -04:00
Donovan Glover
f315ce42f6
chore: Run deno fmt 2023-08-31 11:53:43 -04:00
Donovan Glover
824b710eb9
tests: Abstract logic into separate file 2023-08-31 11:50:27 -04:00
Donovan Glover
0f9ea294c2
tests: Complete migration to TypeScript/Deno
Well, that was easy.
2023-08-31 11:48:26 -04:00
Donovan Glover
0976968977
tests: Abstract assertion functionality
Also uses "async function" since I personally find that easier to skim
and know that it's a function.
2023-08-31 11:43:21 -04:00
Donovan Glover
fb7694a844
meta: Begin re-writing tests in TypeScript/Deno
2 months ago, I figured out how to make Crystal work on NixOS and made
an upstream PR to fix Crystal being unable to find -lpcre. Unfortunately,
that change hasn't been merged yet and I even encountered a core dumped
error when trying to build Crystal myself recently.

Although people may be busy, I am concerned about the popularity of
Crystal relative to other languages. It could be the case that the build
was broken for so long precisely because no one used Crystal, and that
the language isn't popular enough to generate comments on the patch either.

In any case, JavaScript/TypeScript is here to stay, and it certainly has
better tooling and community support than Crystal at the moment. Deno
has been going strong for a few years now, and now that I know Rust, I
can also contribute to it if I want to.
2023-08-31 11:31:37 -04:00
Donovan Glover
41b784ec9b
meta: Merge srb2 container with wine
This continues the process of reducing the amount of containers in order
to significantly reduce build times.
2023-08-31 10:20:18 -04:00
Donovan Glover
a28b33a2d9
meta: Merge iamb container with wine
Similar to the previous commit, I'm trying to reduce build times here.
Containers are great but each one increases the build time by a
non-trivial amount. By limiting the amount of containers and using
virtual machines for things that "absolutely need to be virtualized",
build times overall should be more productive.
2023-08-31 10:10:13 -04:00
Donovan Glover
8bf12e9f3b
meta: Merge rar container with wine
I'll rename this later, but basically I got tired of the vastly
increased build times due to having multiple containers, and would
rather combine containers where possible.

Although unfortunate, this should still be better than not using
containers at all, and by making the usage of such containers easier,
the probability of using them increases as well.
2023-08-31 10:09:09 -04:00
Donovan Glover
cc0500b3ad
hyprland: Revert gaps_out workaround
-1 is no longer needed due to the patch.
2023-08-31 00:53:10 -04:00
Donovan Glover
aadd410cb4
hyprland(ironbar): Revert back to single wrapper
This works since I fixed the double wrapper issue upstream.
2023-08-31 00:49:26 -04:00
Donovan Glover
b570a7ab50
hyprland: Remove fullscreen opacity workaround
Not needed with newer versions of hyprland.
2023-08-31 00:48:01 -04:00
Donovan Glover
1c1c666f57
overlays: Patch hyprland window sizes
Fixes an issue where 1 pixel gaps would exist where window sizes would
otherwise divide evenly.
2023-08-31 00:45:04 -04:00
Donovan Glover
03205ffada
hyprland: Use Super+Shift+Q to close windows
This makes it harder to accidentally close windows.
2023-08-30 16:16:12 -04:00
Donovan Glover
768ca2232c
feat: Replace hyprland-relative-workspace with hyprnome
This also has the advantage of fixing an issue where
hyprland-relative-workspace would prevent new workspaces from being
created in the previous direction when a special workspace was present.
2023-08-30 16:14:50 -04:00
Donovan Glover
8dcf4d6634
meta: Remove custom crystal build
I'm personally not interested in maintaining a 40+ minutes crystal build
and the upstream pull request I made hasn't been merged yet.
2023-08-30 15:56:54 -04:00
Donovan Glover
6a2b57a6a6
chore: Update to latest nixos-unstable 2023-08-30 15:18:40 -04:00
Donovan Glover
5b58696de6
chore: Fix spacing 2023-08-29 21:00:47 -04:00
Donovan Glover
a15fd23b9b
feat: Style cmus with stylix
Based on https://github.com/averms/base16-cmus
2023-08-29 21:00:15 -04:00
Donovan Glover
45284953bb
hyprland: Blur rofi 2023-08-28 23:46:45 -04:00
Donovan Glover
80797d3b0d
rofi: Increase icon size and number of columns 2023-08-28 23:46:20 -04:00
Donovan Glover
6061667179
hyprland: Toggle rofi with super 2023-08-28 23:45:15 -04:00
Donovan Glover
cb65c7e53f
chore: Update sakaya 2023-08-28 23:44:21 -04:00
Donovan Glover
35f67d03ff
meta: Replace rofi overlay with nixpkgs version
The overlay isn't needed anymore since rofi-wayland was updated in
nixpkgs.
2023-08-28 15:37:56 -04:00
Donovan Glover
e941e20acf
Revert "meta: Remove rofi"
Currently rofi seems like the most feature complete launcher that gets
the job done. I'd rather use it than code a custom solution at the
moment.
2023-08-27 19:12:39 -04:00
Donovan Glover
f2aa0efe21
feat: Add thumbnail support for webp files 2023-08-24 17:57:02 -04:00
Donovan Glover
e6fa09220e
neovim(clipboard-image): Don't prompt for file name
Fixes an issue where this would occasionally break.
2023-08-22 14:53:06 -04:00
Donovan Glover
0c1669e8db
chore: Update to hyprland 0.28.0-unstable-2023-08-15 2023-08-22 12:31:08 -04:00
Donovan Glover
98d3f653c4
chore: Update flake inputs 2023-08-19 22:49:21 -04:00
Donovan Glover
8df146e353
packages: Rename go-thumbnailer to thud 2023-08-19 22:16:43 -04:00
Donovan Glover
c1766e8aa8
neovim: Add texlive for vimtex 2023-08-19 22:16:15 -04:00
Donovan Glover
917b7d626a
fish(eza): Ignore .nuxt directory 2023-08-19 22:15:53 -04:00
Donovan Glover
b5d6e46fb8
fish: Enable GATSBY_TELEMETRY_DISABLED
This should get rid of the feedback prompts that Gatsby shows users.

See: https://www.gatsbyjs.com/docs/cli-feedback/
2023-08-16 13:56:00 -04:00
Donovan Glover
8359122544
hyprland: Passthrough keybinds to VM with ctrl+alt
Also useful for preventing keybinds from being used while working on
other things.

Source: https://old.reddit.com/r/hyprland/comments/15puf7x/
2023-08-14 11:26:29 -04:00
Donovan Glover
005b6d6ff9
hyprdim: Dim dialogs 2023-08-14 10:56:56 -04:00
Donovan Glover
144ec9637b
chore: Update flake inputs 2023-08-14 10:56:40 -04:00
Donovan Glover
f780d3bfbc
fcitx: Add base16 theme 2023-08-14 10:54:07 -04:00
Donovan Glover
d9c5e15ccc
fcitx: Increase font size 2023-08-14 10:53:35 -04:00
Donovan Glover
0fd3bc829b
fish(eza): Revert showing git status
Takes up too much space for me personally, especially when used with
--tree.
2023-08-11 15:28:43 -04:00
Donovan Glover
33835aa6c6
eww: Inline config
Note that the home manager module can't be used here since it requires
configDir.
2023-08-11 15:05:24 -04:00
Donovan Glover
93ac26652e
fix: Use MANROFFOPT for color support in man pages
This fixes a regression where color support stopped working after a
groff update.

References:

- https://github.com/jedsoft/most/issues/18
- 958e73c508
- https://bbs.archlinux.org/viewtopic.php?pid=2113876#p2113876
2023-08-11 14:37:18 -04:00
Donovan Glover
290cac5587
chore: Update flake inputs 2023-08-11 14:36:38 -04:00
Donovan Glover
bc14409563
meta: Replace exa with eza
exa hasn't been updated in a few years and has noticeable bugs such as
columns not working when the terminal is large enough that multiple
columns can show.
2023-08-10 23:28:21 -04:00
Donovan Glover
b74d2e386f
packages: Remove visidata to fix build
See: https://github.com/NixOS/nixpkgs/issues/248181
2023-08-10 22:13:35 -04:00
Donovan Glover
f852b9b0c4
fish(exa): Ignore .cache directory 2023-08-10 20:37:41 -04:00
Donovan Glover
ade6fa196b
fish(exa): Show git status 2023-08-10 20:37:21 -04:00
Donovan Glover
3b282214fc
fish(abbreviations): Add yarn build/dev 2023-08-10 19:24:39 -04:00
Donovan Glover
9ef4bee969
chore: Remove useless comments
I don't know I didn't notice these earlier.
2023-08-10 19:12:56 -04:00
Donovan Glover
61ace4f55a
fish(exa): Add icons 2023-08-09 11:47:06 -04:00
Donovan Glover
2c370d75d1
fish(tree): Ignore .next directory 2023-08-09 09:16:05 -04:00
Donovan Glover
10ccd698fa
fonts: Update options for latest unstable release 2023-08-08 15:49:47 -04:00
Donovan Glover
266c1d1c3f
packages: Temporarily remove memento to fix build
See: https://github.com/ripose-jp/Memento/issues/171
2023-08-08 15:47:43 -04:00
Donovan Glover
1a688fce0d
chore: Update flake inputs 2023-08-08 15:47:01 -04:00
Donovan Glover
9a27eb8a8a
docs: Add cover image 2023-08-08 14:18:41 -04:00
Donovan Glover
2b56eb75db
flake.nix: Add sakaya to inputs
This makes it possible to run wine applications inside systemd-nspawn
containers with minimal to no overhead.
2023-08-08 14:13:25 -04:00
Donovan Glover
cfd638b04e
hyprland: Show desktop icons on startup 2023-08-07 22:18:13 -04:00
Donovan Glover
ee6095338d
mime-apps: Use sakaya for executable files
Should upstream this to sakaya later.
2023-08-07 22:03:17 -04:00
Donovan Glover
16d0c2554e
hyprland(hyprdim): Add --ignore-leaving-special 2023-08-07 22:01:06 -04:00
Donovan Glover
2f0249a046
chore: Update imports 2023-08-07 22:00:17 -04:00
Donovan Glover
220392fb85
packages: Add fluent-icons
Used for eww.
2023-08-07 21:33:53 -04:00
Donovan Glover
955ed07d33
fish: Remove old test abbreviation 2023-08-07 21:13:11 -04:00
Donovan Glover
794db6dbec
chore: Update packages 2023-08-07 21:12:34 -04:00
Donovan Glover
8c753e21e7
eww: Add desktop icons 2023-08-07 21:12:02 -04:00
Donovan Glover
5739a3eaba
meta: Add eww module 2023-08-07 20:44:15 -04:00
Donovan Glover
25539d81eb
meta: Show time with eww when toggling ironbar
This also lets us have windows that take up the full screen while
keeping track of whether or not those windows are actually fullscreen.
2023-08-07 20:24:23 -04:00
Donovan Glover
9228444d6e
hyprland: Add workspace switching with mouse buttons 2023-08-07 20:23:42 -04:00
Donovan Glover
b3c95ed4f2
fish(abbreviations): Add cargo tree 2023-08-07 20:22:56 -04:00
Donovan Glover
a835b29bfe
hyprland: Don't change focus when moving to special
As far as I can tell, this was a workaround that appears to be fixed
now.
2023-08-07 08:53:12 -04:00
Donovan Glover
da211bd6b3
meta: Import packages directory 2023-08-07 08:42:50 -04:00
Donovan Glover
f54abc7da4
packages: Add osu-backgrounds 2023-08-07 08:36:40 -04:00
Donovan Glover
bfea1e9629
hyprland(hyprdim): Add --no-dim-when-only 2023-08-06 16:55:53 -04:00
Donovan Glover
d7be8aad20
neovim: Add cargo audit/license
Should probably move this out of neovim later.
2023-08-06 16:53:50 -04:00
Donovan Glover
ec07140d4a
fish: Add cargo add/remove --dev abbreviations 2023-08-06 16:50:05 -04:00
Donovan Glover
f2953fa6da
fish: Add git pull abbreviation 2023-08-06 16:49:41 -04:00
Donovan Glover
b0adf48673
fish: Add cargo add/remove --build abbreviations 2023-08-04 21:39:04 -04:00
Donovan Glover
937caf1642
fish: Add git rebase abbreviations 2023-08-04 21:38:38 -04:00
Donovan Glover
784b3270f9
containers(wine): Replace x86_64-linux with pkgs.system 2023-08-03 12:40:46 -04:00
Donovan Glover
1cd6d698d6
containers(wine): Change sakaya-server to sakaya
sakaya is now only one binary.
2023-08-03 12:39:53 -04:00
Donovan Glover
c3d2b637ba
containers(wine): Use pkgs from host
May or may not make things faster.
2023-08-03 12:38:59 -04:00
Donovan Glover
e2ba4026c5
fish: Simplify nixos-rebuild abbreviations 2023-08-03 12:35:54 -04:00
Donovan Glover
34b8a5efb5
fish(abbreviations): Add kitty @ set-background-opacity 2023-08-03 12:35:29 -04:00
Donovan Glover
1f19a71571
fish: Add cargo abbreviations 2023-08-03 12:34:48 -04:00
Donovan Glover
6d390eb938
containers(wine): Add sakaya systemd service
This combined with su makes it possible to automatically start a user
environment with sakaya-server running, thus eliminating the need to
spawn a shell with machinectl.
2023-08-01 22:55:32 -04:00
Donovan Glover
f1ba5fac74
hyprland: Change wallpapers with super+w 2023-08-01 22:24:30 -04:00
Donovan Glover
87221635f8
hyprland: Show random background on startup 2023-08-01 22:23:57 -04:00
Donovan Glover
6447c0c30e
fish: Add nix abbreviations 2023-08-01 22:23:06 -04:00
Donovan Glover
d1cb8c5731
containers(wine): Autostart with tmpfiles
This change makes it possible to autostart the wine container without
receiving errors and not being able to use /run/user/1000.
2023-08-01 22:22:02 -04:00
Donovan Glover
38d090d550
ironbar: Decrease translucency
This might be an ideal number for most use cases.
2023-08-01 19:08:08 -04:00
Donovan Glover
9ed706c2a5
hyprland: Downgrade to v0.27.0
The white flash when starting hyprland is a deal breaker for me
personally and I'd rather not have to deal with it. Should hopefully be
fixed in a later release since it seems to be a wlroots issue.
2023-08-01 19:06:20 -04:00
Donovan Glover
d1a78a7a57
meta: Remove hyprbars
Although this was cute, there are simply too many bugs and other
inconveniences to be worth it. For example, the bar cannot be focused
when a workspace has a fullscreen application.
2023-08-01 19:04:43 -04:00
Donovan Glover
8c1eaec846
ironbar: Update favorites selection
Might as well prefer utilities here to look nice. It's unfortunate that
the gimp class changes for every release.
2023-08-01 18:58:46 -04:00
Donovan Glover
563fdc4e3f
hyprland: Try bordersize windowrule
This is kinda cool however v0.27.2 and above appear to introduce a white
flash for me when starting Hyprland. Because of this, I'll probably stay
on v0.27.0 for the time being and only patch things I really want.
2023-08-01 18:55:14 -04:00
Donovan Glover
e3cf378b31
meta: Try hyprbars fork
This was my test of the hyprbars fork. It turns out that the original
version is more useful, although both versions crash whenever reloading
the plugin after unloading it once.
2023-08-01 18:54:26 -04:00
Donovan Glover
1688787677
meta: Make it easy to load hyprbars
Not sure why I couldn't do this in the hyprland or fish modules but I
couldn't, even after including hyprland-plugins.
2023-08-01 18:22:19 -04:00
Donovan Glover
a78cb283bf
packages: Add sakaya
Useful for running wine applications inside systemd-nspawn containers.
2023-08-01 16:28:31 -04:00
Donovan Glover
750def0398
hyprland: Simplify swww init
By including an image changer in a separate exec-once, swww works as
intended. This enables virtual machines to have a random background on
startup without the abnormally long wait time previously.
2023-08-01 16:27:06 -04:00
Donovan Glover
61be25469c
neovim: Add pnpm
May continue to use yarn in spite of this.
2023-08-01 16:26:15 -04:00
Donovan Glover
93608bf1eb
hyprland: Add hyprbars config
Tested this in a VM and it should look decent.
2023-08-01 16:25:50 -04:00
Donovan Glover
b84bad3806
meta: Add hyprbars
May or may not be useful for a more mouse-centric workflow.
2023-08-01 16:22:54 -04:00
Donovan Glover
ed11061d61
hyprland: Use latest commit
This was the only way I could get plugins to work reliably. Might look
into this in the future, but v0.27.2 also includes some changes not
present in v0.27.0.
2023-08-01 16:21:10 -04:00
Donovan Glover
c231825512
neovim: Add cargo-info
As a reminder, the neovim module includes a bunch of additional stuff
used for development. Although convenient, another approach may be
considered in the future.
2023-08-01 12:33:35 -04:00
Donovan Glover
dcea42f899
chore: Update packages 2023-08-01 12:31:14 -04:00
Donovan Glover
01458011ab
containers(wine): Add sakaya
This works, which is pretty cool. One unfortunate consequence is that
networking with the host is required, thus an alternative approach needs
to be considered if one still wants to eliminate internet access from
certain wine applications.
2023-08-01 12:18:05 -04:00
Donovan Glover
4e4ceeb6fb
feat(neovim): Highlight markdown code blocks
This adds syntax highlighting to code blocks with vim-markdown while
keeping pretty much everything else the same.
2023-08-01 12:16:02 -04:00
Donovan Glover
5f629bf0d6
fix(neovim): Manually toggle git blame
This fixes an issue where git blame would still show a single fixed line
in zen mode previously.
2023-08-01 12:14:24 -04:00
Donovan Glover
6991587294
neovim: Remove markdown conceal
Was causing more issues than problems it solved. Markdown conceal can be
successfully achieved with an external browser window.
2023-08-01 12:12:33 -04:00
Donovan Glover
075e1b6f13
neovim: Don't use tabs for markdown
Not needed since I don't edit logseq files directly nearly as often.
2023-08-01 12:11:19 -04:00
Donovan Glover
7b8eec9d77
pqiv: Add webp support
Surprisingly useful.
2023-08-01 12:10:18 -04:00
Donovan Glover
bf5ebed6c6
virtualization: Disable interception-tools inside vm
This fixes an issue where dual-function-keys would run on both the host
and the virtual machine, thus causing issues with the escape key.
2023-08-01 12:08:36 -04:00
Donovan Glover
7c429a374b
hyprland: Add random background script 2023-08-01 12:01:57 -04:00
Donovan Glover
2c9c53481e
hyprland: Add background setter script 2023-08-01 12:01:18 -04:00
Donovan Glover
d61e7b8a31
meta: Remove gui container
Although this was cool, it created some inconveniences that I'd rather
not have to deal with. For example, opening a document required manually
copying the file to the container mount first.

Instead of containerizing a subset of GUI applications, it's likely much
easier and more effective to spin up a virtual machine of the current
system. That way all GUI applications benefit from virtualization and
not simply containerization, which caused issues when certain programs
detected that they were already open from the wayland socket.

A final benefit of this change is that which container an application is
running in is no longer ambiguous. Although it was possible to use
custom GTK themes depending on which container an application belonged
to, containers for system-installed applications tend to bring a large
amount of overhead. Only using containers for applications that deal
with untrusted inputs and have a large attack surface seems better in
this case.
2023-08-01 10:41:32 -04:00
Donovan Glover
ddaa5abc7a
chore: Update flake inputs 2023-07-26 18:54:46 -04:00
Donovan Glover
7ddfe1976f
hyprland: Use super+s to swap monitor workspaces
Arguably more useful when multiple monitors are used.
2023-07-26 18:54:30 -04:00
Donovan Glover
375639abfb
ironbar: Make open application color more subtle 2023-07-26 18:45:27 -04:00
Donovan Glover
480cc873a3
hyprland(swww): Use shorter sleep for non-kvm
This makes starting Hyprland more instantaneous on bare metal.
2023-07-26 18:44:01 -04:00
Donovan Glover
0a60a39a31
treewide: Change Thunar back to thunar
Note sure what happened but the class is thunar now.
2023-07-26 18:26:25 -04:00
Donovan Glover
6c14b37a9f
neovim: Don't trim trailing whitespace on save
Fixes an issue where autosave would cause indentation to be lost due to
editorconfig removing extra whitespace.
2023-07-26 18:24:43 -04:00
Donovan Glover
55c5078919
hyprland(hyprdim): Persist dim
Fixes an issue where the dim would be reset if running hyprctl reload
without dim_inactive set to true in hyprland.conf.
2023-07-26 15:05:18 -04:00
Donovan Glover
89b5a0e1f1
chore: Update flake inputs 2023-07-26 15:04:24 -04:00
Donovan Glover
a2fe09a166
ironbar: Don't hardcode opacity
Now the opacity will always be 0.05 less than the opacity of the
terminal.
2023-07-26 13:11:49 -04:00
Donovan Glover
b61e2ff951
neovim: Conceal markdown links without vim-markdown
This also conceals some other stuff like JSON strings, but seems to be
worth it overall.
2023-07-26 13:10:02 -04:00
Donovan Glover
56aa91cacf
ironbar: Change thunar to Thunar
Apparently Thunar is the new class name.
2023-07-26 13:07:59 -04:00
Donovan Glover
0611faa9d9
chore: Update flake inputs 2023-07-26 13:05:25 -04:00
Donovan Glover
38882bdc62
fish(abbreviations): Add git switch 2023-07-26 12:55:55 -04:00
Donovan Glover
ddc7d0a9dd
fish(abbreviations): Add git apply 2023-07-26 12:55:43 -04:00
Donovan Glover
d32d5e6c33
neovim(image-nvim): Decrease max width/height 2023-07-26 12:50:12 -04:00
Donovan Glover
28ba1ff805
hyprland: Replace dim settings with hyprdim
Now I no longer have to worry about manually toggling dim on and off.
2023-07-26 12:49:09 -04:00
Donovan Glover
d475b5257c
hyprland: Toggle dim_strength
This makes animations work both ways when using dim_inactive.
2023-07-26 12:47:19 -04:00
Donovan Glover
b53c2cc8a8
hyprland: Mirror external monitor
This is unfortunately necessary to fix an issue where the external
monitor wouldn't update its state every few seconds. Not sure what the
issue is since this only occurs in applications when typing and not when
playing back video, for example.
2023-07-26 12:45:36 -04:00
Donovan Glover
72ec44155c
packages: Remove redundant pqiv
Not needed since pqiv is enabled by the pqiv module.
2023-07-26 12:44:19 -04:00
Donovan Glover
723aa4a2e3
hyprland: Fix thunar class
At some point this got changed from thunar to Thunar.
2023-07-26 12:13:54 -04:00
Donovan Glover
13157341b1
librewolf: Don't suggest history by default
Makes it easier for me to see bookmarks.
2023-07-26 12:12:15 -04:00
Donovan Glover
5f0d638c5e
hyprland: Don't dim picture in picture 2023-07-26 11:51:44 -04:00
Donovan Glover
1f80cd691e
neovim(clipboard-image-nvim): Customize image name 2023-07-26 10:02:17 -04:00
Donovan Glover
02f2a2bce4
neovim(clipboard-image-nvim): Change image directory 2023-07-26 10:01:10 -04:00
Donovan Glover
9ae34eb739
neovim: Add syntax highlighting to mdx files 2023-07-26 09:59:44 -04:00
Donovan Glover
38a817b9ff
pqiv: Enable support for svg and other images
This change enables support for all formats imagemagick supports.
2023-07-26 09:59:00 -04:00
Donovan Glover
3fa826e7a2
neovim: Add vim-astro 2023-07-26 09:57:17 -04:00
Donovan Glover
80b95d6bd4
ironbar: Decrease opacity
Makes background colors more noticeable.
2023-07-23 19:40:06 -04:00
Donovan Glover
7747974e32
chore: Update packages 2023-07-23 15:40:00 -04:00
Donovan Glover
d2aa481be1
dual-function-keys: Use escape as KEY_GRAVE
Useful for keyboards that combine function keys with number keys.
2023-07-23 15:31:04 -04:00
Donovan Glover
ee19ba0b97
chore: Don't add polkit to environment
This isn't needed since the daemon is already running.
2023-07-23 09:01:01 -04:00
Donovan Glover
51c9c0206f
chore: Update flake inputs 2023-07-22 20:09:53 -04:00
Donovan Glover
61cd0b77a2
fish: Add git cherry-pick -x abbreviation 2023-07-22 13:23:24 -04:00
Donovan Glover
aa64667d78
neovim: Add clippy 2023-07-22 13:22:27 -04:00
Donovan Glover
b7c8eeade3
chore: Update flake inputs 2023-07-22 13:21:38 -04:00
Donovan Glover
03dbc3e3a7
ironbar: Use a more subtle active color 2023-07-21 14:12:50 -04:00
Donovan Glover
87e2cd2b0a
ironbar: Show animation on all button clicks 2023-07-21 14:11:19 -04:00
Donovan Glover
8ddfd87c39
ironbar(label): Add padding 2023-07-21 14:10:10 -04:00
Donovan Glover
7fd5a618ba
ironbar(clipboard): Add padding 2023-07-21 14:09:34 -04:00
Donovan Glover
5ec3ad510b
neovim: Add nvim-autopairs 2023-07-19 18:19:22 -04:00
Donovan Glover
bcb72b6fba
chore: Update flake inputs 2023-07-19 15:50:07 -04:00
Donovan Glover
baa4ca1362
neovim: Add astro-language-server 2023-07-19 13:21:11 -04:00
Donovan Glover
07bd6c6ed6
neovim: Add typescript-language-server 2023-07-19 11:26:16 -04:00
Donovan Glover
4f64d67cff
ci(tests): Remove nixos-rebuild
Not available in the Nix action. It's Ubuntu after all.
2023-07-18 12:33:56 -04:00
Donovan Glover
8de3a2e4f2
git: Cherry pick with --strategy-option theirs
Makes things easier since resolving conflicts is no longer necessary.
2023-07-18 12:26:17 -04:00
Donovan Glover
380bf5983e
fish(abbreviations): Add git branch -D 2023-07-18 10:29:48 -04:00
Donovan Glover
c58eb2a200
chore: Update flake inputs 2023-07-18 10:28:52 -04:00
Donovan Glover
a1ab542c92
ci(tests): Try running nixos-rebuild 2023-07-18 10:28:35 -04:00
Donovan Glover
e1371b0edc
ci(tests): Add nix action 2023-07-18 10:28:15 -04:00
Donovan Glover
6ff549d893
fish(abbreviations): Add git fetch 2023-07-18 10:12:10 -04:00
Donovan Glover
7200e95a80
fish: Make branch information more verbose
Also adds a gbr abbreviation to only show remote branches.
2023-07-18 09:08:01 -04:00
Donovan Glover
c46079d7cd
fish: Remove --all from git log abbreviation
Now it's possible to get the log of specific branches, particularly
useful for cherry picking.
2023-07-18 09:06:53 -04:00
Donovan Glover
82181b682f
chore: Update flake inputs 2023-07-18 09:06:06 -04:00
Donovan Glover
7907ed5b44
fix(hyprland): Sleep before swww init
This unfortunately fixes a race condition where swww init doesn't work
if started too soon.

See: https://github.com/Horus645/swww/issues/144
2023-07-18 09:04:49 -04:00
Donovan Glover
7ae15b7502
hyprland(ironbar): Remove start delay
Not needed fortunately with ironbar.
2023-07-18 08:38:53 -04:00
Donovan Glover
a8c472a314
chore: Remove unnecessary comments 2023-07-18 07:19:49 -04:00
Donovan Glover
74a7489230
hyprland(swww): Use default background if none given
This makes it possible to have a default background in virtual machines
without worrying about overriding a background set by the user.
2023-07-17 23:03:35 -04:00
Donovan Glover
adf69e0d7c
chore: Remove unnecessary comments 2023-07-17 22:32:44 -04:00
Donovan Glover
9a8b25bb2c
neovim: Add image-nvim
image-nvim is a new neovim plugin similar to hologram.nvim that adds
support for inline images to neovim.
2023-07-17 22:18:40 -04:00
Donovan Glover
8c10e177f5
ironbar(launcher): Increase icon size 2023-07-17 22:17:32 -04:00
Donovan Glover
7fda85846a
ironbar(launcher): Add back favorites
Might change this later. The main advantage of favorites is that it
becomes trivial to launch various systemd-nspawn containers, although
admittedly the same feat can be achieved through creating .desktop-like
files for thunar.
2023-07-17 22:13:32 -04:00
Donovan Glover
0d8c0e56e4
ironbar(calendar): Highlight selected date 2023-07-17 22:08:10 -04:00
Donovan Glover
7904269c4b
chore: Update flake inputs 2023-07-17 22:07:32 -04:00
Donovan Glover
d7cc400a20
ironbar(calendar): Add padding between dates 2023-07-17 22:07:10 -04:00
Donovan Glover
81a5a84d39
neovim: Remove hologram-nvim
Not needed anymore since I figured out how to get image-nvim working in
NixOS.
2023-07-17 20:25:45 -04:00
Donovan Glover
13dc9a7ce2
chore: Update flake inputs 2023-07-17 20:25:14 -04:00
Donovan Glover
787a386b5f
ci(tests): Use verbose output 2023-07-16 18:18:27 -04:00
Donovan Glover
6d1e843373
ci(tests): Check crystal formatting 2023-07-16 18:18:07 -04:00
Donovan Glover
274711004d
ci(tests): Rename job to crystal 2023-07-16 18:17:44 -04:00
Donovan Glover
6e0d28e24a
tests: Remove unused requires 2023-07-16 18:17:02 -04:00
Donovan Glover
3aa88992f1
chore: Update flake inputs
Notable changes include the Hyprland update from 0.26.0 to 0.27.0.
2023-07-16 11:19:03 -04:00
Donovan Glover
bddff06eca
neovim: Add hologram.nvim
For historical purposes, I am adding hologram.nvim in a commit, although
I should be able to replace this with image.nvim.
2023-07-15 21:45:32 -04:00
Donovan Glover
40ca636a51
hyprland: Use ironbar as a menu
Makes things simple and avoids having multiple ways to do the same
thing (launch applications).

Note that two dots are used here since at some point I presumably made
a wrapper inside a wrapper, which should probably be fixed later.
2023-07-15 19:39:11 -04:00
Donovan Glover
e41deda650
ironbar: Add text-shadow
Possibly makes things look better.
2023-07-15 19:02:12 -04:00
Donovan Glover
d367b44e60
neovim: Add clipboard-image-nvim
May need to configure this later.
2023-07-15 18:57:40 -04:00
Donovan Glover
d67db4ec21
chore: Update packages 2023-07-15 18:57:17 -04:00
Donovan Glover
7517e16cd6
hyprland: Add keybind for tessen 2023-07-15 18:56:51 -04:00
Donovan Glover
a60551e060
hyprland: Add saner default swww values 2023-07-15 18:29:23 -04:00
Donovan Glover
2bf9b54992
kitty: Use notify-send for long tasks
Manual invocation prevents automatically triggering a task complete
notification when one isn't wanted.
2023-07-15 18:15:24 -04:00
Donovan Glover
9c4fac0770
ironbar: Add background to focused application 2023-07-15 18:13:17 -04:00
Donovan Glover
c4da3e387a
hyprland: Replace rofi with bemenu
May remove bemenu entirely in favor of only using the taskbar for
critical applications, which reduces complexity.
2023-07-15 18:10:26 -04:00
Donovan Glover
59b5f55e6d
srb2: Add hosting support 2023-07-15 17:03:48 -04:00
Donovan Glover
00a1c99987
networking: Allow srb2 port 2023-07-15 17:02:55 -04:00
Donovan Glover
03e9a53ef3
chore: Update flake inputs 2023-07-15 16:39:21 -04:00
Donovan Glover
24e4a3b9a3
fish: Add trash abbreviations 2023-07-15 12:42:12 -04:00
Donovan Glover
269a2b3ccd
chore: Remove old overlay import 2023-07-15 12:38:38 -04:00
Donovan Glover
3d96bf1838
xdg-user-dirs: Create directories by default 2023-07-15 12:37:40 -04:00
Donovan Glover
d58fef7511
editorconfig: Don't trim markdown whitespace
Fixes an issue where auto-indents would be automatically removed with
the auto-save plugin enabled. Should probably fix this behavior later
so auto-indent works properly with all files.
2023-07-15 12:35:30 -04:00
Donovan Glover
526a9c7fe9
neovim: Add yuck-vim
Useful for reading eww files.
2023-07-15 12:32:55 -04:00
Donovan Glover
731a76dbb4
joshuto: Add one letter delete keybind
Useful since deletes ask for confirmation anyway.
2023-07-15 12:05:05 -04:00
Donovan Glover
35c502e22f
pqiv: Use native module 2023-07-15 12:04:32 -04:00
Donovan Glover
b11734ac67
chore: Update flake inputs 2023-07-15 11:44:14 -04:00
Donovan Glover
50ba2f9352
meta: Use personal branches for inputs
This lets me do things like only update inputs when I want to.
Additionally, it becomes easy for me to add my own functionality to
these projects and contribute to them upstream. Finally, it becomes
easier to verify changes to the system when pulling changes from
upstream.
2023-07-15 11:44:01 -04:00
Donovan Glover
d389c910c4
chore: Update flake inputs 2023-07-11 18:33:17 -04:00
Donovan Glover
19ffaad1cf
meta: Remove kitty overlay
Not needed anymore since kitty 0.29.0 was released.
2023-07-11 14:24:19 -04:00
Donovan Glover
d8cbc5e9cb
hyprland: Use same repeat rate as river
This change makes Hyprland have the same smooth typing experience one
gets with river.

See: https://github.com/riverwm/river/issues/234
And: c16628c7f5/example/init (L150-L151)
2023-07-11 08:03:39 -04:00
Donovan Glover
9c13e2fe41
fish(abbreviations): Add git cherry-pick 2023-07-11 08:02:34 -04:00
Donovan Glover
fb27622fb9
fish(abbreviations): Add git checkout --theirs 2023-07-11 08:02:02 -04:00
Donovan Glover
bad9f4cbf7
neovim(lualine): Don't show for nvim-tree 2023-07-11 07:58:33 -04:00
Donovan Glover
1a8bedafb3
dunst: Fix icons not showing
Also lowers the min-icon-size to avoid huge icons with the new theme.
2023-07-11 07:56:49 -04:00
Donovan Glover
4dd6ae821a
ironbar(launcher): Show indicator on click 2023-07-11 07:55:45 -04:00
Donovan Glover
13e6407381
containers(wine): Use prefix from mnt
This is convenient, however the state of the wine prefix will change
over time as a result of this.
2023-07-11 07:54:10 -04:00
Donovan Glover
d9bbb2e267
virtualization: Mount home directory
This is convenient, although care should be taken to remove this mount
if you don't want your home directory inside of the virtual machine.
2023-07-11 07:46:28 -04:00
Donovan Glover
dc677d170c
neovim: Add zen-mode-nvim
zen-mode-nvim is a cool lua plugin similar to Goyo that makes reading
and writing long-form content in neovim easier.
2023-07-10 21:58:04 -04:00
Donovan Glover
5352c9a613
containers: Add fcitx support 2023-07-10 21:56:25 -04:00
Donovan Glover
8fa673095e
meta: Move DE-specific config to specializations
Helps keep the modules directory specific to the main configuration and
not any specializations.
2023-07-10 21:12:48 -04:00
Donovan Glover
cb6d57536b
specializations: Configure inside default.nix
This makes it possible to define specializations that are technically
modules without having them placed in the modules directory. This is
mainly useful to separate core Hyprland logic from desktop environment
logic.
2023-07-10 20:36:27 -04:00
Donovan Glover
9462f39f47
meta: Add GitHub CI
GitHub CI should be a more viable solution than Travis CI in 2023.
2023-07-10 18:39:05 -04:00
Donovan Glover
a3ca695d4e
tests: Remove hint
At some point this broke, although imports should be changed
infrequently enough that any failures should be trivial to resolve.
2023-07-09 22:25:51 -04:00
Donovan Glover
ef7cac947e
tests: Remove unused import 2023-07-09 17:47:51 -04:00
Donovan Glover
5d351cf6b2
chore: Update packages 2023-07-09 17:46:53 -04:00
Donovan Glover
d5a6b65379
chore: Update flake inputs 2023-07-09 14:44:05 -04:00
Donovan Glover
244c1386a9
neovim: Revert conditional fcitx import
This actually had the side effect of not including fcitx-vim in all
cases.
2023-07-08 20:12:55 -04:00
Donovan Glover
9c7fb0b490
mullvad: Remove gui package
Not needed since the command line program is excellent. Makes things
easier overall and no longer have to worry about GUI-specific bugs.
2023-07-07 10:49:22 -04:00
Donovan Glover
410e5f50bb
containers: Simplify
isReadOnly is true by default.
2023-07-07 05:26:52 -04:00
Donovan Glover
85f741c920
meta: Remove rofi
Although rofi was cute, ironbar may suit my needs better since I don't
actually need a launcher that shows all desktop files. This makes things
simpler and makes the launcher (ironbar) easier to extend upon since
it's written in Rust.
2023-07-06 22:54:40 -04:00
Donovan Glover
44b6e345d1
tests: Remove rofi check 2023-07-06 21:43:02 -04:00
Donovan Glover
c553dffcb8
chore: Update flake inputs 2023-07-06 09:57:11 -04:00
Donovan Glover
085847c95b
hyprland: Re-enable middle click paste
This fixes an issue where wl-paste would previously make it impossible
to select text in certain GTK applications.
2023-07-05 19:35:30 -04:00
Donovan Glover
bed4d20e60
ironbar: Don't use favorites
Unfortunately, there are too many issues with favorite applications at
this time to warrant the usage of them. On the bright side, only showing
open applications makes it easy to determine all applications that are
open at a glance.
2023-07-05 11:30:59 -04:00
Donovan Glover
a152284a63
chore: Formatting 2023-07-05 11:24:58 -04:00
Donovan Glover
c6bc8415b2
ironbar: Simplify 2023-07-05 09:20:32 -04:00
Donovan Glover
6a7f3b2450
ironbar: Remove unused color_urgent 2023-07-05 00:37:05 -04:00
Donovan Glover
6391d885a3
ironbar: Don't hardcode colors 2023-07-05 00:36:38 -04:00
Donovan Glover
ee7b7e2cac
chore: Update flake inputs 2023-07-04 23:51:14 -04:00
Donovan Glover
96ed1456f4
meta: Remove joshuto overlay
No longer needed now that joshuto is at 0.9.5.
2023-07-04 23:50:55 -04:00
Donovan Glover
1c15106231
tests: Remove joshuto check
No longer needed since v0.9.5 was released.
2023-07-04 18:59:21 -04:00
Donovan Glover
f6bef9b79b
meta: Don't use conditionals in default imports 2023-07-04 17:14:36 -04:00
Donovan Glover
27deb6bb43
nix: Simplify
lightdm is only enabled if no other display managers are chosen.

See ./nixos/modules/services/x11/xserver.nix in nixpkgs to verify this.
2023-07-04 16:41:31 -04:00
Donovan Glover
737de3c497
ironbar: Remove background styles
This change makes the bar have one consistent background across all
modules.
2023-07-04 15:42:16 -04:00
Donovan Glover
781c28f4ed
ironbar: Remove unused css 2023-07-04 13:43:41 -04:00
Donovan Glover
4630ba436c
ironbar: Move clipboard to start 2023-07-04 13:31:19 -04:00
Donovan Glover
a9362bfd7d
chore: Update packages 2023-07-04 12:18:00 -04:00
Donovan Glover
85c632be7c
ironbar: Increase launcher item padding
Makes it easier to click on things and see the active window.
2023-07-04 12:04:43 -04:00
Donovan Glover
428e641b28
ironbar: Remove battery status for now
Later I'll probably add it in a popup so it doesn't show if no battery
is present, such as inside a virtual machine.
2023-07-04 12:03:59 -04:00
Donovan Glover
74b3c412a5
ironbar: Remove link-test from launcher
This was a way to see how .desktop link files would respond when opened
in ironbar.
2023-07-04 12:02:40 -04:00
Donovan Glover
8d204bd822
hyprland: Start at workspace 5000000
This enables relative empty workspaces to always be created both before
and after the last occupied workspace.
2023-07-04 10:09:21 -04:00
Donovan Glover
a263e5ac6a
hyprland: Remove previous workspace keybind
Not needed anymore since relative workspaces are used instead.
2023-07-04 09:46:30 -04:00
Donovan Glover
f83c8cc0f8
ironbar: Remove workspace indicator
Not needed anymore with relative workspaces.
2023-07-04 09:44:17 -04:00
Donovan Glover
ba489b173c
meta: Replace absolute workspaces with relative workspaces
Instead of remembering which workspace an application is in, it's easier
to simply go to the previous or next workspace until reaching the desired
application.

This has the advantage of less keybinds used and no longer having to reach
across the keyboard when dealing with 6 or more workspaces.

Workspace state can be handled by ironbar's launcher instead, which has
the additional benefit of guaranteeing that you see all open applications.

hyprland-relative-workspace is used here for a GNOME-like workspace
experience. Hyprland's built-in m+1/m-1 would cycle the workspaces
instead of opening an empty one, and the recently merged r+1/r-1 does
not skip empty workspaces in-between other workspaces.
2023-07-04 09:43:57 -04:00
Donovan Glover
024449f323
chore: Update flake inputs 2023-07-04 09:14:28 -04:00
Donovan Glover
b5f3ca85c7
hyprland: Make active border more noticeable 2023-07-04 08:19:13 -04:00
Donovan Glover
05e9efa5fe
ironbar: Use dots for workspaces
This was a test of using dots for workspaces, although ultimately
workspace indicators may be removed entirely in favor of an overview
feature in the future.
2023-07-04 08:15:31 -04:00
Donovan Glover
15d9586f23
ironbar: Only underline active workspace
Hover effects are already inherited from the GTK theme.
2023-07-04 08:10:29 -04:00
Donovan Glover
1e6e5ebb5d
ironbar: Use box-shadow instead of border-bottom 2023-07-04 07:58:10 -04:00
Donovan Glover
3237387447
ironbar: Remove sys_info module
Might put some of this into a popup later.
2023-07-04 07:43:16 -04:00
Donovan Glover
dd99b93246
home-manager: Add ironbar config
Will nixify this later.
2023-07-04 07:25:41 -04:00
Donovan Glover
22fffef12b
mpv: Toggle osc with ctrl+shift+a 2023-07-03 23:09:42 -04:00
Donovan Glover
42d1d8bcd6
mpv: Don't fullscreen by default
Makes mpv act similar to other applications.
2023-07-03 23:09:10 -04:00
Donovan Glover
161885ba37
chore: Update flake inputs 2023-07-03 23:07:39 -04:00
Donovan Glover
606d8e01e1
hyprland: Reduce border_size to 2
A border size of 3 causes kitty to have an unnecessary padding shift, so
2 works better here.
2023-07-03 19:09:02 -04:00
Donovan Glover
bb51d048a9
hyprland: Reduce border opacity 2023-07-03 19:00:43 -04:00
Donovan Glover
cb976a9728
hyprland: Use a more subtle active border color 2023-07-03 18:29:12 -04:00
Donovan Glover
d0905e916c
hyprland: Remove borders by default
Not necessary with ironbar.
2023-07-03 15:00:13 -04:00
Donovan Glover
4722cd0f64
hyprland: Slightly reduce gaps 2023-07-03 14:52:59 -04:00
Donovan Glover
d5cba73fef
home-manager: Add pqiv config 2023-07-03 14:37:47 -04:00
Donovan Glover
0fddecce45
fonts: Use default hinting
Fixes an issue where the new "full" option would cause letters such as
"m" to appear disoriented.

For more information, refer to the commit below:
b5d2d701d1
2023-07-03 12:28:39 -04:00
Donovan Glover
37be896b20
chore: Update flake inputs 2023-07-03 09:27:02 -04:00
Donovan Glover
1792154814
hyprland: Re-enable fullscreen inheriting 2023-07-03 00:13:33 -04:00
Donovan Glover
56dd267788
chore: Update flake inputs 2023-07-03 00:12:43 -04:00
Donovan Glover
a0ef495e73
fish: Replace tput clear with clear
tput isn't needed anymore now that kitty is patched.
2023-07-02 20:03:33 -04:00
Donovan Glover
9a7a304b9c
chore: Update flake inputs 2023-07-02 18:23:44 -04:00
Donovan Glover
971dbec0f9
containers: Remove obsidian
After using Logseq for a few months, using Obsidian for just a little
bit is quite repulsive. Taking notes that aren't in outliner form feels
alien and not worth it for me personally.
2023-07-02 17:38:26 -04:00
Donovan Glover
a982615430
stylix: Increase opacity 2023-07-02 14:34:07 -04:00
Donovan Glover
9acfef271d
chore(hyprland): Remove useless commas 2023-07-02 14:33:37 -04:00
Donovan Glover
ed222ae03c
hyprland: Separate floating and centerwindow
This fixes an issue where centerwindow would ignore bars and other
layers.
2023-07-02 14:32:09 -04:00
Donovan Glover
08f2fa3f56
hyprland: Make border color blue 2023-07-02 13:08:17 -04:00
Donovan Glover
2abb013666
kitty: Make tab bar transparent 2023-07-02 12:07:16 -04:00
Donovan Glover
f9cb5c5c56
meta: Replace waybar with ironbar
Ironbar is a new GTK-based bar written in Rust. It offers substantial
improvements over waybar, including a proper application launcher.
2023-07-02 09:36:31 -04:00
Donovan Glover
5ec4aab697
meta: Remove gamemode
As far as I can tell, there isn't any noticeable performance difference
with the hardware I use.
2023-07-01 22:44:06 -04:00
Donovan Glover
4a9861b1a4
waybar: Show on right 2023-07-01 22:37:01 -04:00
Donovan Glover
271de3f573
waybar: Add custom module styles 2023-07-01 22:36:24 -04:00
Donovan Glover
5022615a2c
waybar: Add gaps module 2023-07-01 22:36:10 -04:00
Donovan Glover
8ae0171859
setup.nix: Add gamemode
Note that this was so I could run gamemode inside containers, although I
haven't been able to notice a practical difference.
2023-07-01 16:35:46 -04:00
Donovan Glover
8e464a4769
chore: Update flake inputs 2023-07-01 16:35:26 -04:00
Donovan Glover
41f3c5e18c
chore: Update packages 2023-07-01 14:21:54 -04:00
Donovan Glover
4077ee9f9d
hyprland: Use separate script for gaps 2023-07-01 14:21:12 -04:00
Donovan Glover
c5d758c88d
hyprland: Make modifier changes easier
Mod2 is the NumLock key, which can be used as an alternative modifier to
Super in combination with dual-function-keys.
2023-07-01 14:06:36 -04:00
Donovan Glover
51795a8829
meta: Use unrar instead of unrar-wrapper
Unfortunately, some functionality appears to only be available with
unrar.
2023-07-01 14:03:40 -04:00
Donovan Glover
74ff0bf3cb
waybar: Make horizontal bar smaller
This is pretty bad from a code POV but works. Might remove all of this
later and just keep the vertical bar.
2023-06-30 21:13:08 -04:00
Donovan Glover
0f15d939da
waybar: Don't show icons by default
Text is more subtle and puts more focus away from the bar.
2023-06-30 10:39:15 -04:00
Donovan Glover
6d272d5c20
hyprland: Make gaps more subtle
Notably lowers gaps_in by 2 and gaps_out by 4.
2023-06-30 08:08:37 -04:00
Donovan Glover
970a441032
hyprland: Show picture when taking screenshot 2023-06-30 08:07:40 -04:00
Donovan Glover
68b80d2a18
hyprland: Add borders by default
This makes it easier to differentiate which window is focused and makes
floating windows slightly prettier.
2023-06-30 08:06:08 -04:00
Donovan Glover
2d3458362d
meta: Remove pywal
Not needed anymore since stylix enables more consistent color schemes
that support a wider variety of applications.
2023-06-30 07:58:38 -04:00
Donovan Glover
65f429ca3b
waybar: Don't autohide
Manually toggling waybar with the keyboard seems to still be the ideal
way to go about things.
2023-06-30 07:57:02 -04:00
Donovan Glover
77b41ce0f0
waybar: Add wallpaper button
This makes it possible to change the wallpaper with a button press.
Unfortunately, waybar does not support hover indicators for custom
modules, so there's no way to tell that this button is clickable.
2023-06-30 07:49:30 -04:00
Donovan Glover
c53057b129
hyprland: Tile qemu vm by default 2023-06-30 07:48:00 -04:00
Donovan Glover
6cd3e23c21
stylix: Change MapleMono to Maple Mono
This seems to have fixed an issue where italicized text wasn't shown
previously.
2023-06-29 13:55:34 -04:00
Donovan Glover
218f58eb08
waybar: Remove tray
Adds complexity since it's non-trivial to style certain icons.
2023-06-29 12:00:21 -04:00
Donovan Glover
e807232420
chore: Remove unnecessary comments 2023-06-29 11:59:37 -04:00
Donovan Glover
ae1ad321a3
stylix: Use monokai by default
It's simple and gets the job done.
2023-06-29 11:37:21 -04:00
Donovan Glover
c143c065a2
waybar: Move modules to separate attribute set
Makes it possible to use the same modules in multiple bars.
2023-06-29 09:58:25 -04:00
Donovan Glover
bc6f862279
waybar: Simplify 2023-06-29 00:45:37 -04:00
Donovan Glover
808cf1cc40
waybar: Add autohide support 2023-06-29 00:34:45 -04:00
Donovan Glover
56740bc22a
waybar: Add icons mode
This makes it possible to switch between showing application icons on
waybar and showing workspaces on waybar.
2023-06-28 12:25:54 -04:00
Donovan Glover
ed1368bde6
git: Only underline new additions 2023-06-28 09:14:04 -04:00
Donovan Glover
dc98a87544
git: Underline changes in diffs 2023-06-28 08:57:45 -04:00
Donovan Glover
f3f00def7f
waybar: Replace hyprland/window with wlr/taskbar
The taskbar is more useful than the window option, takes up less space,
and shows the title of any window on hover without having to worry about
vertical alignment.
2023-06-27 08:41:43 -04:00
Donovan Glover
7802c7094a
waybar: Add horizontal bar support
This commit leverages the power of Nix in order to easily create
variations of our waybar configuration on-demand.
2023-06-27 06:02:11 -04:00
Donovan Glover
277d35ff47
waybar: Set position based on variable
This makes it easier to switch between having the bar on the top,
bottom, left, or right.
2023-06-27 05:22:14 -04:00
Donovan Glover
d0b8300bea
stylix: Use variable for font-size 2023-06-27 04:46:28 -04:00
Donovan Glover
b7bd3a3632
hyprland: Disable no_gaps_when_only
This was mainly useful on smaller screens where window contents took up
less space overall, however this makes it non-trivial to determine
whether or not gaps are enabled unless two or more windows exist in the
same workspace.

Since the gaps aren't an issue with larger screen sizes anyway, slightly
reducing gaps and disabling no_gaps_when_only seems like the play here.
2023-06-27 04:14:46 -04:00
Donovan Glover
83bc580f03
hyprland: Use variables for modifiers
This should make it easier to switch from a super modifier to a hyper
modifier in the future or vice versa.
2023-06-27 04:05:55 -04:00
Donovan Glover
e812aac001
hyprland: Don't focus on activate 2023-06-26 20:18:48 -04:00
Donovan Glover
48fa7d1512
chore: Update packages 2023-06-26 18:50:57 -04:00
Donovan Glover
d4cb5c3528
joshuto: Replace unrar with unar 2023-06-26 18:42:45 -04:00
Donovan Glover
aa5a78a296
joshuto: Replace feh with pqiv 2023-06-26 18:42:08 -04:00
Donovan Glover
62207c05fa
chore: Formatting
Also removes redundant comments.
2023-06-26 18:38:45 -04:00
Donovan Glover
9892ae3fce
Revert "git: Add attempt at migrating to delta"
diff-so-fancy works quite well, and I'm not interested in having syntax
highlighting in diffs.
2023-06-26 16:20:08 -04:00
Donovan Glover
91f51f94f2
hyprland: Reduce dim strength
This makes using dim more bearable since the inactive windows are still
relatively easy to read text from.
2023-06-26 12:48:36 -04:00
Donovan Glover
acd516c388
hyprland: Blur dunst notifications 2023-06-26 12:04:29 -04:00
Donovan Glover
3262b594c1
hyprland: Use opacity from stylix 2023-06-26 12:02:44 -04:00
Donovan Glover
09ce58fb1c
waybar: Use opacity from stylix 2023-06-26 12:01:50 -04:00
Donovan Glover
bcbadcfc23
stylix: Use single variable for opacity 2023-06-26 12:01:14 -04:00
Donovan Glover
71515560d8
rofi: Increase selected opacity 2023-06-26 11:39:53 -04:00
Donovan Glover
6e73f4adea
git: Add attempt at migrating to delta
This was my attempt at migrating from diff-so-fancy to delta. Although
having an easy-to-hack-on rust code base was certainly appealing, there
are some minor inconveniences such as longer diffs by default.
2023-06-26 09:32:57 -04:00
Donovan Glover
6f4ebc95be
stylix: Change theme to oceanicnext 2023-06-25 21:42:26 -04:00
Donovan Glover
01368898b8
stylix: Make popups translucent 2023-06-25 21:41:49 -04:00
Donovan Glover
1434434903
fish: Set bat theme to base16 2023-06-25 21:40:49 -04:00
Donovan Glover
a78151b9c5
neovim: Don't hardcode base16 theme 2023-06-25 20:25:20 -04:00
Donovan Glover
75559d8b07
chore: Update flake inputs 2023-06-25 18:18:54 -04:00
Donovan Glover
2a6536337f
gamemode: Fix error from typo 2023-06-25 18:18:38 -04:00
Donovan Glover
e0f3503069
rofi: Use colors from stylix 2023-06-25 13:23:19 -04:00
Donovan Glover
a7f6d4d354
hyprland: Don't hardcode colors 2023-06-25 12:45:55 -04:00
Donovan Glover
fbd150226a
fcitx: Don't hardcode colors 2023-06-25 12:44:28 -04:00
Donovan Glover
4d01415a20
rofi: Remove unused variables 2023-06-25 12:39:52 -04:00
Donovan Glover
84eb63b14a
waybar: Simplify 2023-06-25 12:24:57 -04:00
Donovan Glover
21abd9005d
waybar: Don't hardcode color values
Stylix exposes the generated color palette as part of config.lib, so
hard-coding color values isn't necessary.
2023-06-25 12:11:26 -04:00
Donovan Glover
fd18dbd99b
meta: Remove waycorner
For simplicity, waycorner will not be used as an option to execute
commands. This should prevent any unexpected surprises and we no longer
have to deal with waycorner getting hidden by other windows.
2023-06-25 10:54:46 -04:00
Donovan Glover
37c6737beb
hyprland: Set fullscreen_opacity to 0.9999999
This fixes an issue where fullscreen windows would previously cause swww
and other background image setters to not show backgrounds until a
gesture animation was completed.
2023-06-25 10:06:21 -04:00
Donovan Glover
d3ae9cbe61
mpv: Limit floating window size 2023-06-25 09:16:02 -04:00
Donovan Glover
d2ef63b8cb
librewolf: Disable ctrl+q shortcut 2023-06-25 09:15:01 -04:00
Donovan Glover
cc631348f4
chore: Formatting 2023-06-24 19:40:31 -04:00
Donovan Glover
2995ae4d7a
meta: Replace feh with pqiv
pqiv is an image viewer that, unlike feh, has native support for
Wayland, which makes working with it quite nice. It also supports
showing a thumbnail mode that lets you preview and switch between
images with ease, as well as the ability to run custom commands
based on the current image.

pqiv has more features than imv *and* anti-aliasing *actually works*,
making it an ideal choice for image viewing on Wayland. After years of
using feh, I am quite happy that I found pqiv.
2023-06-24 14:58:44 -04:00
Donovan Glover
128c6f619d
meta: Replace unrar with unrar-wrapper 2023-06-24 13:40:02 -04:00
Donovan Glover
08492ea227
feh: Fullscreen by default
This alleviates some of the issues with feh relying on xwayland.
2023-06-24 12:10:01 -04:00
Donovan Glover
62ffe061d9
hyprland: Use full fullscreen by default
This guarantees that windows that show with waybar aren't actually
fullscreen.
2023-06-24 12:07:28 -04:00
Donovan Glover
4cfba44ed3
hyprland: Use rounding when gaps 2023-06-24 12:06:57 -04:00
Donovan Glover
9dc1d0043d
containers(dev): Enable gui usage 2023-06-24 12:06:13 -04:00
Donovan Glover
cba187fcc8
librewolf: Don't autohide when fullscreen 2023-06-24 08:56:36 -04:00
Donovan Glover
de23b7fd91
waybar: Rotate window title 2023-06-24 08:52:27 -04:00
Donovan Glover
3c178b1696
containers: Add kitty
Now containers can take advantage of kitty's built-in window manager as
well as other things like images in the terminal.
2023-06-24 01:12:20 -04:00
Donovan Glover
8a028efe50
meta: Remove hyprland-autoname-workspaces
Now that waybar supports fullscreen indicators, I am no longer
interested in maintaining a list of application names. Although this was
cool, it doesn't scale and adds complexity.
2023-06-24 01:10:53 -04:00
Donovan Glover
fffca9a96c
hyprland: Increase gaps/border size 2023-06-23 21:32:20 -04:00
Donovan Glover
be67ac74e7
containers: Set cursor size to 24 2023-06-23 21:11:32 -04:00
Donovan Glover
e677cebc44
overlays(waybar): Dispatch selected workspace 2023-06-23 21:10:07 -04:00
Donovan Glover
7bda618b83
qutebrowser: Continue nixifying config 2023-06-23 21:08:57 -04:00
Donovan Glover
7209bae4a3
waycorner: Add failed waybar attempt
This was my attempt at using waycorner with waybar, however it fails
since waybar shows above waycorner. This commit is purely for historical
purposes.
2023-06-23 19:31:28 -04:00
Donovan Glover
b5924e5b48
joshuto: Use lsar to show rar contents 2023-06-23 19:19:07 -04:00
Donovan Glover
24bec3bc32
Revert "meta: Remove super key functionality"
Since I no longer have a need for non-Hyprland virtualized environments,
altering the super key makes sense.
2023-06-23 18:58:07 -04:00
Donovan Glover
717fa0d9fb
chore: Formatting 2023-06-23 15:48:29 -04:00
Donovan Glover
dd6f43e02d
containers: Add iamb
iamb is a TUI matrix client written in Rust.
2023-06-23 10:40:00 -04:00
Donovan Glover
e63b2c9122
joshuto: Add dependencies 2023-06-22 21:38:55 -04:00
Donovan Glover
553d2d9aab
containers: Use overlays for packages
This fixes an issue where packages did not use our overlays in the
containers.
2023-06-22 18:33:42 -04:00
Donovan Glover
5ae3221e79
containers: Add htop and joshuto 2023-06-22 18:33:10 -04:00
Donovan Glover
e7d55a6790
meta: Disable specializations by default
Note that specializations increase the build time and therefore
shouldn't be used unless you're actually using those specializations.
For example, a normal Hyprland build of 30 seconds becomes 1 minute and
30 seconds with the GNOME and Plasma specializations enabled.

As an alternative, you can use multiple nixosConfigurations and only
build GNOME and/or Plsama on demand, then run those desktop environments
as virtual machines inside of Hyprland, which lets you use both (or even
all three) at the same time.
2023-06-22 17:31:10 -04:00
Donovan Glover
91ce277e0a
docs: Add specializations to readme 2023-06-22 17:16:34 -04:00
Donovan Glover
355eee4910
chore: Fix formatting from git 2023-06-22 15:12:24 -04:00
Donovan Glover
c6e59e9ecd
containers(wine): Add environment variables 2023-06-22 15:03:07 -04:00
Donovan Glover
e0eb0b064d
neovim: Add make/cmake
Some rust libraries unironically require cmake in order to compile.
2023-06-22 14:39:54 -04:00
Donovan Glover
a9c5c5eddd
starship: Re-enable containers module
Having some indicator that we're in a container is better than no
indicator at all. starship takes forever to compile, so patching it
would introduce excessively long build times.
2023-06-22 14:38:27 -04:00
Donovan Glover
4d893bed47
setup.nix: Add more modules
Now locale and timezone will be set. Nix flakes also get enabled and
neovim becomes a usable editor.
2023-06-22 13:14:52 -04:00
Donovan Glover
7a07f70f7c
meta: Include fish/starship in all containers 2023-06-22 13:06:00 -04:00
Donovan Glover
7f210f074e
setup.nix: Use modules/home-manager.nix 2023-06-22 12:53:18 -04:00
Donovan Glover
2edce5949e
setup.nix: Use GTK/X settings 2023-06-22 12:51:54 -04:00
Donovan Glover
1bfdcaa96c
containers(wine): Migrate to setup.nix 2023-06-22 12:51:35 -04:00
Donovan Glover
aca37da408
containers(obsidian): Migrate to setup.nix 2023-06-22 12:46:20 -04:00
Donovan Glover
c211bdca9b
containers(dev): Migrate to setup.nix 2023-06-22 12:44:25 -04:00
Donovan Glover
269b5143e4
setup.nix: Fix imports 2023-06-22 12:37:37 -04:00
Donovan Glover
28a55383b4
containers(srb2): Use setup.nix 2023-06-22 12:28:27 -04:00
Donovan Glover
9167763aeb
meta: Move containers config to setup.nix
The config sets up the containers, hence setup.nix.
2023-06-22 12:25:37 -04:00
Donovan Glover
505e35edcd
containers: Use more detailed common config
All containers can inherit a lot of the same settings since the main
feature is separating applications from the host and each other.
2023-06-22 12:19:03 -04:00
Donovan Glover
c6e3513a5d
meta: Use packages module
May or may not separate or split this later.
2023-06-22 12:09:26 -04:00
Donovan Glover
ce4bd8f10f
chore: Update packages 2023-06-22 11:57:03 -04:00
Donovan Glover
2f5a3f184a
containers(gui): Remove unused packages 2023-06-22 11:55:52 -04:00
Donovan Glover
1eb77fd467
modules: Add system 2023-06-22 11:54:12 -04:00
Donovan Glover
0aaba9a591
meta: Remove variables from containers
Modules solve the variable problem in a nicer way.
2023-06-22 11:44:35 -04:00
Donovan Glover
7316153e37
chore: Formatting 2023-06-22 11:30:32 -04:00
Donovan Glover
8ffb196c0b
meta: Don't use variables
The previous commit didn't actually work, and I shouldn't need to
change the variables often, so it's much simpler to not have them.

In the event that I do need to change something, rg and sd should get
the job done well.
2023-06-22 11:10:17 -04:00
Donovan Glover
2f056d1e72
meta: Migrate to config.variables 2023-06-22 10:42:23 -04:00
Donovan Glover
2ea920c0c0
xdg-user-dirs: Use config.variables.username
Note that I may change this to simply config.username in the future
depending on how many variables I actually need.
2023-06-22 10:20:58 -04:00
Donovan Glover
99d2913b41
nix: Remove one-off variables
Don't use variables for things that only get defined in one place.
2023-06-22 10:17:49 -04:00
Donovan Glover
4d8ce87fb1
meta: Import hardware
Which hardware can be determined from the default.nix at a later date if
needed.
2023-06-22 10:16:38 -04:00
Donovan Glover
2d808e6162
nix: Begin migration to options
No need to import a variables file since all modules have access to the
options defined in all other modules.
2023-06-22 10:10:55 -04:00
Donovan Glover
afd6cce13c
meta: Remove nix-gaming
No longer needed since I understand how to implement this myself now.
2023-06-22 09:53:29 -04:00
Donovan Glover
1dcf95a7eb
pipewire: Inline low latency module
This removes the nix-gaming dependency to achieve low latency.
2023-06-22 09:51:15 -04:00
Donovan Glover
6d5365f2b3
packages: Remove osu-stable
Not needed anymore since I'd rather manage my own osu! files.
2023-06-22 09:43:29 -04:00
Donovan Glover
59eb54e1e5
nix: Remove nix-gaming cache
No longer needed since I plan to just use the wine from nixpkgs.
2023-06-22 09:32:35 -04:00
Donovan Glover
7b79bbae70
meta: Remove old osu container
No longer needed since I no longer intend to use nix-gaming. May add
another container later without it.
2023-06-22 09:27:44 -04:00
Donovan Glover
4aa7392350
chore: Update flake inputs 2023-06-22 09:18:39 -04:00
Donovan Glover
7a5ceee759
meta: Remove hypr-contrib
Not needed anymore since grimblast is now in my personal nixpkgs branch.
2023-06-22 09:17:03 -04:00
Donovan Glover
0c0d455a6a
flake.nix: Remove variables
This configuration is specifically intended for x86_64-linux and likely
wouldn't work on aarch64-linux. Additionally, the configuration name may
be different than the hostname if desired.
2023-06-22 08:37:59 -04:00
Donovan Glover
3a6cd7e60d
treefmt: Exclude hardware directory 2023-06-22 08:00:13 -04:00
Donovan Glover
ae1af336ba
hyprland: Allow resizing osu! windows
It seems like all wine windows may be broken, although there doesn't
seem to be an easy way to allow the resizing of all wine windows without
affecting other windows. In practice this *shouldn't* matter much,
however.
2023-06-22 07:58:23 -04:00
Donovan Glover
3230a5ec1e
meta: Use hardware directory for hardware configs
This makes it easier to auto-complete home/ and hardware/ with tab,
versus having to type 3 letters to auto-complete hosts/.
2023-06-22 07:57:00 -04:00
Donovan Glover
217e7b0f06
hardware-configuration: Undo formatting
To make life simpler, not modifying the hardware-configuration.nix in
any way makes it easier to see git diffs.
2023-06-22 07:46:54 -04:00
Donovan Glover
4083348a3b
meta: Move up hardware-configuration import 2023-06-22 07:42:53 -04:00
Donovan Glover
79f4ae0296
tests: Add tests for containers and specializations 2023-06-22 07:26:19 -04:00
Donovan Glover
92f057929a
meta: Flatten tests directory 2023-06-22 07:25:13 -04:00
Donovan Glover
82739571c6
waybar: Change color if fullscreen 2023-06-22 07:18:02 -04:00
Donovan Glover
3283aebbd8
modules: Add wine
Useful to remember why I set this option.
2023-06-22 07:17:01 -04:00
Donovan Glover
355e58c76e
hyprland: Disable autoreload
Not needed since autoreload doesn't work anyway with home-manager.
2023-06-22 07:15:47 -04:00
Donovan Glover
71b23e9bf3
modules: Add cdemu
NixOS makes this so easy.
2023-06-22 06:55:54 -04:00
Donovan Glover
0fd8411d36
meta: Use default.nix
Makes things simpler.
2023-06-22 05:36:48 -04:00
Donovan Glover
7fb0c15255
networking: Remove allowedTCPPorts
Not needed for now, although a good reference for the future.
2023-06-21 11:43:09 -04:00
Donovan Glover
a75c20db5b
containers(wine): Switch to wineWowPackages.stagingFull
wineWowPackages.stagingFull has better compatibility than waylandFull
and runs more applications without black screens. The difference between
stagingFull and wine-ge is that wine-ge doesn't crash when encountering
an error like ELFCLASS64 and usually opens windows larger and
fullscreen-like.

The reason stagingFull is preferred over wine-ge in this case is that
stagingFull is a part of nixpkgs and doesn't suffer from a black screen
bug when a hidden menu pushes the content in the window viewport down.

Additionally, although wine-ge avoids crashes in more cases, this
results in applications running that may or may not fully work, and
sometimes results in black screens where there should be graphics
instead.
2023-06-21 11:39:57 -04:00
Donovan Glover
e0f1521899
containers(wine): Use wine-ge
This was a different wine version that let me achieve better
compatibility with Unity3D programs. Although it doesn't crash when
encountering a ELFCLASS64 error, for example, it does have other issues
like a black screen flash when opening a hidden menu (the kind that
become available with the alt key on a keyboard).
2023-06-21 11:23:17 -04:00
Donovan Glover
ba686839ec
meta: Remove vmware
Now that I have figured out how to get all the Windows applications I
previously used working under Wine (including those that didn't work in
the virtual machine after trying to manually install dependencies) there
is no reason for me to use vmware.

Using NixOS for Windows applications allows them to be used with
systemd-nspawn containers, thus achieving things like isolation, private
networks, impermanence, and more. All of this without having to maintain
a separate operating system install.
2023-06-21 03:44:42 -04:00
Donovan Glover
b05eecbdbf
neovim: Add pkg-config
Some programs require this in order to compile successfully.
2023-06-21 03:37:07 -04:00
Donovan Glover
43186c630e
locale: Fix import 2023-06-21 03:32:56 -04:00
Donovan Glover
d226c85639
meta: Move remaining sessionVariables to fish 2023-06-21 03:32:35 -04:00
Donovan Glover
741f40ce56
networking: Remove forwardPorts
No ports need to be forwarded right now, however this is a good example
for when ports need to be forwarded from a container to the host in the
future.
2023-06-21 03:31:33 -04:00
Donovan Glover
0cd00a7734
chore: Formatting 2023-06-21 03:09:22 -04:00
Donovan Glover
2b415d3bd4
flake.nix: Inputs before outputs 2023-06-21 02:41:44 -04:00
Donovan Glover
5694bbc450
nix: Modularize locale and timezone 2023-06-21 02:35:43 -04:00
Donovan Glover
7760a7028b
containers(dev): Add htop
Might make htop available to all containers in the future.
2023-06-20 18:52:13 -04:00
Donovan Glover
db22c24905
containers(dev): Add nix
Useful for running nix shells.
2023-06-20 18:51:51 -04:00
Donovan Glover
5b21e36969
packages: Add poppler_utils
Useful for converting images in pdfs to actual images.
2023-06-20 18:43:57 -04:00
Donovan Glover
aa15dc00ee
containers: Use separate default.nix 2023-06-20 18:42:56 -04:00
Donovan Glover
da70c0293b
overlays(waybar): Use latest commit
Adds support for https://github.com/Alexays/Waybar/issues/2211
2023-06-20 14:50:22 -04:00
Donovan Glover
ac801ad5bf
fish: Add abbreviation for git branch --delete 2023-06-20 12:04:28 -04:00
Donovan Glover
255a819504
meta: Use a personal nixpkgs branch
Now I don't have to wait for anything to be included in nixos-unstable
and can simply merge whatever I want whenever I want. This also has the
advantage of not having to specify which input is needed to get a
package from.
2023-06-20 10:26:04 -04:00
Donovan Glover
b310bb6e6d
meta: Replace go-thumbnailer with nixpkgs version
Now there is no need for a packages directory since all the packages I
maintain are upstreamed.
2023-06-20 09:55:34 -04:00
Donovan Glover
185f6f605e
containers(dev): Remove unused packages 2023-06-20 08:31:17 -04:00
Donovan Glover
ec418619ab
meta: Replace crystal-flake with nixpkgs-crystalline 2023-06-20 08:30:20 -04:00
Donovan Glover
b61ed37b02
chore: Update flake inputs 2023-06-19 20:09:59 -04:00
Donovan Glover
209fb4d9ca
meta: Add hyprland-autoname-workspaces config
The new lines are unfortunately necessary since waybar uses GTK CSS, and
GTK CSS doesn't support modern CSS features like vertical text.
2023-06-19 16:24:43 -04:00
Donovan Glover
92300c6d9d
fix(neovim): Fix npm package name 2023-06-19 16:19:24 -04:00
Donovan Glover
3ea8860f7d
meta: Use grimblast over grim/slurp 2023-06-19 12:12:04 -04:00
Donovan Glover
b7ed04d1a2
meta: Move shards to neovim config
The neovim config has everything I need for software development, so
having shards there makes sense.
2023-06-19 12:10:59 -04:00
Donovan Glover
df92eb1eb4
chore: Remove unused packages 2023-06-19 12:10:22 -04:00
Donovan Glover
83b6ce6e2d
nix: Continue modularization 2023-06-19 05:13:04 -04:00
Donovan Glover
72bd18dcfc
npm: Use home-manager package instead of nixos module
Now that I am able to understand and read NixOS/nixpkgs source code, I
understand that the usage of the npm module isn't needed since I don't
configure npm at a global level.
2023-06-19 04:00:50 -04:00
Donovan Glover
76bfdf10b6
pipewire: Re-enable lowLatency
This was previously disabled when testing NixOS networks.
2023-06-18 15:52:47 -04:00
Donovan Glover
07bbb996e5
nix: Continue modularization of system modules 2023-06-18 15:52:03 -04:00
Donovan Glover
e60f7000b0
meta: Don't shutdown when power button is pressed
Since I always shut down the computer through the terminal, the power
button serves no use while the computer is on.
2023-06-18 15:31:29 -04:00
Donovan Glover
bbb0110a03
virtualization: Always use vmVariant
This works since we're no longer depending on a network of virtual
machines that use their own virtualization configurations.
2023-06-18 11:58:37 -04:00
Donovan Glover
f8d5b35464
meta: Don't use NixOS networks
Networks are a way to start multiple NixOS virtual machines at the same
time. Although cute, networks seem to be used more for "test scripts"
and ultimately don't support Nix flakes. This results in package
versions being outdated and the inability to use our existing
home-manager input and other flakes.

Multiple nixosConfigurations, on the other hand, enable us to setup
entire computers that don't *have* to be virtual machines, but can be
virtual machines if we want them to be. Additionally, it becomes trivial
to only run the configurations you want to run, without having to worry
about everything being tied to everything else. Finally, persistence is
optional and the resulting .qcow2 file is quite small.

Ultimately, Nix flakes are a more flexible solution to the older
nixos-build-vms command, and should be preferred over it in pretty much
all cases. To reiterate, if you're using flakes, there's no reason to
use the outdated nixos-build-vms command, which won't have the same
package versions as the ones in your flake.
2023-06-18 10:57:55 -04:00
Donovan Glover
d34ead9699
meta: Share directories with virtual machines
This *works*, and it's possible to edit files in one virtual machine
while having those files instantly be updated in all other virtual
machines. Note that the host will also have access to the files, which
ultimately means that directory sharing is quite useful (and convenient).
2023-06-18 10:44:44 -04:00
Donovan Glover
d28c0ec15b
meta: Make networks usable
This was a change to make networks somewhat usable, and it works to a
good extent, however I ultimately decided against using networks due to
their missing flake support.
2023-06-18 10:40:59 -04:00
Donovan Glover
f7110b3e06
fonts: Add liberation fonts
Unfortunately, this is necessary to prevent certain websites from
completely breaking due to Noto fonts having wider width overall.
2023-06-18 10:04:34 -04:00
Donovan Glover
93295369c0
gnome: mkForce hyprland defaults
This should be a temporary solution until modules are selectively
imported and hyprland isn't included.
2023-06-18 09:20:47 -04:00
Donovan Glover
58d5e0737b
nix: Remove formatter from flake.nix
treefmt is used instead since it's faster and more customizable.
2023-06-18 08:34:24 -04:00
Donovan Glover
bd7c1d553b
meta: Add network example
This is a working example of using the modules in our existing
configuration to start a network of virtual machines with
nixos-build-vms. Note that VMs take longer to start up in this case than
nixos-rebuild build-vm, and that said VMs may lack certain functionality
(such as dynamic resolution in GNOME) that would otherwise be present
with build-vm.

Although networks are certainly cute (and I'm glad that I feel familiar
with them thanks to my better understanding of Nix), they do seem less
convenient than nixos-rebuild build-vm and don't appear to support Nix
flakes. Networks therefore seem more useful for running multiple one-off
services that couldn't otherwise be ran in a container.
2023-06-18 08:09:44 -04:00
Donovan Glover
168134bcf3
qemu: Add audio support to virtual machines
This fixes an issue where virtual machines would previously use dummy
output. More specifically, pulseaudio is used since pipewire supports
it, and intel hd audio (hda) is used since it's generally regarded as
one of the better options based on information available online.

Note that -audio is used instead of the outdated -audiodev and -soundhw
options. This setup also avoids the choppy audio observed with other
solutions like alsa.

References:
- https://www.qemu.org/docs/master/system/qemu-manpage.html
- https://github.com/NixOS/nixpkgs/issues/175378
- https://superuser.com/questions/1337570
- https://en.wikipedia.org/wiki/Intel_High_Definition_Audio
- https://gitlab.com/qemu-project/qemu/-/issues/1519
- https://lists.nongnu.org/archive/html/qemu-discuss/2020-04/msg00089.html
2023-06-18 07:02:19 -04:00
Donovan Glover
b2ff95f11b
udiskie: Only enable if hyprland
Conditional imports like this could make it easier to import everything
at once and selectively exclude as needed.
2023-06-17 22:46:29 -04:00
Donovan Glover
42699b6985
containers: Add obsidian
Mainly a proof of concept. Eventually I'll devise an easy way to view
notes in a pretty way and edit them with neovim (likely through your
typical web framework tools).
2023-06-17 22:43:01 -04:00
Donovan Glover
798aa35edf
meta: Use separate module for plasma
This enables plasma to be used as both a specialization and as a desktop
environment in a virtual machine.
2023-06-17 22:23:25 -04:00
Donovan Glover
0bd8f69705
fix(fonts): Explicitly reject default fonts
This fixes an issue where the default fonts were included by default
from another module in the system configuration.
2023-06-17 21:05:12 -04:00
Donovan Glover
446a2c1647
meta: Enable network-manager to manage dns
This enables virtual machines to make DNS queries without having to
manually set things up.
2023-06-17 20:59:41 -04:00
Donovan Glover
77956b181b
fix(fonts): Don't enable default fonts
This fixes an issue where some applications were using the default fonts
from nixpkgs instead of the fonts specified in the system configuration.
Notably, this led to the use of "TeX Gyre Heros" for body text, which
made distinguishing between i/I/l problematic at smaller font sizes.
2023-06-17 20:58:28 -04:00
Donovan Glover
692093da7d
meta: Flatten packages directory 2023-06-17 20:55:32 -04:00
Donovan Glover
fb2acae89a
specializations: Add plasma
This *works*, and the best part is I didn't have to do *anything* (besides
write this configuration file, that is).

Thanks to NixOS, it is possible to have GNOME, Plasma, Hyprland, and
whatever else you want installed on the same computer without those
desktop environments conflicting with each other. This configuration is
done in a fully reproducible and declarative setup with minimal code,
without having to modify any external files or run any imperative
commands.
2023-06-17 19:11:27 -04:00
Donovan Glover
f9fdac4925
fix(neovim): Only import fcitx-vim if fcitx5 enabled
This fixes an issue where fcitx-vim would error on systems without
fcitx5 enabled.
2023-06-17 12:30:30 -04:00
Donovan Glover
a725e0c2da
meta: Add gnome specialization
This makes it possible to boot into either Hyprland (the default) or
GNOME. Having separate configurations implemented in combination with
home-manager and impermanence guarantees that desktop environments don't
conflict withe each other, so this could also be used to implement a
Plasma specialization in the future.
2023-06-17 12:17:51 -04:00
Donovan Glover
18084be856
fix(swaylock): Add missing pkgs attribute 2023-06-17 11:20:26 -04:00
Donovan Glover
9a71c94b8a
fix(home): Add missing import 2023-06-17 11:18:58 -04:00
Donovan Glover
b26702d052
meta: Use host network inside vms
This enables VMs built with nixos-rebuild build-vm to use the internet
of the host.
2023-06-17 11:17:05 -04:00
Donovan Glover
ebd96d805e
htop: Use better settings for NixOS
Although many people have tried to make more modern top-like programs,
my favorite is still htop *by far*. NixOS includes htop-vim in its
official repositories, which is great, and this change removes the
/nix/store prefixes from all the processes, making htop overall much
easier to read and navigate.
2023-06-17 10:51:11 -04:00
Donovan Glover
f9a851cda2
meta: Add hyprland-specific setup to hyprland module 2023-06-17 09:42:53 -04:00
Donovan Glover
0e6ed0aa93
meta: Add back gnome module
Possibly useful for setting up computers with GNOME. The main advantage
GNOME has is the ability to have a consistent environment in both X11
and Wayland, which is useful to test whether or not something only works
in X11.
2023-06-17 09:19:07 -04:00
Donovan Glover
6b496fb529
modules: Add greetd 2023-06-17 02:43:26 -04:00
Donovan Glover
e00a88bfea
nix: Continue home separation 2023-06-16 23:00:15 -04:00
Donovan Glover
a7102b5b67
fish: Move user config to ./home 2023-06-16 20:17:51 -04:00
Donovan Glover
ef109a9472
swaylock: Move to ./home 2023-06-16 20:16:19 -04:00
Donovan Glover
c0966633d8
librewolf: Move to ./home 2023-06-16 20:15:45 -04:00
Donovan Glover
79003388c2
starship: Separate from fish 2023-06-16 20:13:32 -04:00
Donovan Glover
2dd6a9f5c3
fcitx: Move to ./home 2023-06-16 20:09:34 -04:00
Donovan Glover
3e6f8e6563
hyprland: Move home-specific parts to ./home
Note that the modules are separated more to make it easier to use parts
of the graphical configuration in NixOS containers.
2023-06-16 20:02:45 -04:00
Donovan Glover
da93580ccf
containers(wine): Use Japanese locale
Necessary for many applications to work properly.
2023-06-16 14:24:47 -04:00
Donovan Glover
89361952a8
containers(wine): Passthrough /dev/dri
Enables the wine container to have native graphics performance on the
host.
2023-06-16 14:23:53 -04:00
Donovan Glover
62feee858b
containers(wine): Implement impermanence
Useful to avoid certain things working due to a certain state, then
forgetting what was changed over time.
2023-06-16 14:21:24 -04:00
Donovan Glover
aad7424764
containers(wine): Enable pipewire
Seems to fix an issue where audio could randomly stop working when
closing applications and opening new ones.
2023-06-16 14:20:30 -04:00
Donovan Glover
47a8763fc9
Revert "neovim(nvim-tree): Highlight default.nix"
This actually makes the default.nix stand out a bit *too* much.
2023-06-16 14:18:55 -04:00
Donovan Glover
b105f87a13
nix-gaming: Use cachix
This avoids having to wait 40 minutes for wine to compile every time the
system is updated.
2023-06-16 14:15:37 -04:00
Donovan Glover
a179de4afa
containers(gui): Add libreoffice
Unfortunately, some files may require the use of document editing
software like libreoffice. Fortunately, systemd-nspawn containers enable
us to ensure that these documents do not have access to the internet.
2023-06-16 14:14:18 -04:00
Donovan Glover
6c45d79f1c
containers: Fix module imports 2023-06-16 14:05:23 -04:00
Donovan Glover
374a0a2d14
meta: Flatten modules directory 2023-06-16 14:03:09 -04:00
Donovan Glover
32fc0d4be5
chore: Update flake inputs 2023-06-16 13:58:48 -04:00
Donovan Glover
c23655ad39
fish: Add target to tree ignore
This prevents the directory listing from becoming abnormally large with
rust projects.
2023-06-16 13:37:54 -04:00
Donovan Glover
b12e1598c9
thunar: Add volman
This should prevent errors from popping up in the terminal when mounting
disks.
2023-06-16 13:19:46 -04:00
Donovan Glover
036ec4a733
containers(dev): Update module paths 2023-06-16 13:15:44 -04:00
Donovan Glover
ce727de65b
neovim(nvim-tree): Highlight default.nix 2023-06-16 12:53:18 -04:00
Donovan Glover
338bf19784
meta: Flatten overlays directory 2023-06-16 12:47:36 -04:00
Donovan Glover
7b12a778f8
fcitx5: Inline config 2023-06-16 12:28:10 -04:00
Donovan Glover
877ce570bf
meta: Move home modules up one directory
This is possible since each home-manager module is now its own
self-contained nix file.
2023-06-16 12:13:26 -04:00
Donovan Glover
ac7fb96c80
joshuto: Inline external scripts 2023-06-16 11:53:12 -04:00
Donovan Glover
2aa3550313
chore: Replace tabs with spaces 2023-06-16 11:42:36 -04:00
Donovan Glover
40e08b4821
joshuto: Nixify mimetypes 2023-06-16 11:41:34 -04:00
Donovan Glover
f8765f25e2
joshuto: Migrate keymap to nix 2023-06-16 10:22:47 -04:00
Donovan Glover
b270bd3662
joshuto: Migrate theme to nix 2023-06-16 10:07:05 -04:00
Donovan Glover
33fe40f1bb
joshuto: Begin migration to home-manager module 2023-06-16 10:01:42 -04:00
Donovan Glover
9841ad09c6
ncmpcpp: Nixify on-song-change.sh 2023-06-16 09:55:50 -04:00
Donovan Glover
bbf1b1f030
rofi: Nixify rasi theme 2023-06-16 09:40:57 -04:00
Donovan Glover
8498368947
chore: Formatting 2023-06-16 08:51:22 -04:00
Donovan Glover
39e206a89b
chore: Move home-manager modules to ./home 2023-06-16 08:23:49 -04:00
Donovan Glover
b4242e0f55
chore: Continue home-manager separation 2023-06-16 08:19:26 -04:00
Donovan Glover
181ea09092
meta: Use separate directory for home-manager modules 2023-06-16 08:13:34 -04:00
Donovan Glover
cac5d0c159
Switch from wine-staging to wineWowPackages.waylandFull
This causes more programs to work and seems to be the most popular
package for wine on NixOS, so it should be preferred in all cases.
2023-06-16 07:58:36 -04:00
Donovan Glover
69bd0757d2
containers(dev): Use home manager module 2023-06-16 07:47:21 -04:00
Donovan Glover
e5c0e7d985
chore: Fix typo 2023-06-16 07:34:13 -04:00
Donovan Glover
f08e4ca34f
chore: Run nixpkgs-fmt 2023-06-16 07:31:39 -04:00
Donovan Glover
cdf9652a34
meta: Use separate home-manager modules
This makes it easier to use our modules with home-manager on non-NixOS
distributions as needed.
2023-06-16 07:25:00 -04:00
Donovan Glover
395dd8e3f3
misc: Fix typo 2023-06-16 06:20:39 -04:00
Donovan Glover
57d6e3ea14
meta: Don't autostart containers
Unfortunately not possible (at least non-trivially) since containers may
depend on a graphical instance already running.
2023-06-15 11:11:08 -04:00
Donovan Glover
735201eb9b
hyprland: Re-enable vfr by default
This fixes an issue where disabling vfr would cause certain applications
to perform worse, as well as QEMU virtual machines showing lower
performance.
2023-06-15 10:47:15 -04:00
Donovan Glover
7e40522708
chore: Update flake inputs 2023-06-15 10:42:46 -04:00
Donovan Glover
4d1f614163
waybar(workspaces): Remove hover feedback
Unfortunately, I haven't came up with a solution to making waybar
workspaces clickable with hyprland-autoname-workspaces yet.
2023-06-14 08:42:09 -04:00
Donovan Glover
080a491b20
gamemode: Specify location used 2023-06-14 08:41:14 -04:00
Donovan Glover
6e61915182
fish: Remove exec hyprland
Not needed since greetd handles autologin.
2023-06-13 21:16:59 -04:00
Donovan Glover
4fdfb6b94b
containers(osu): Remove gamemode
gamemode is started from the host, so this isn't needed.
2023-06-13 17:28:21 -04:00
Donovan Glover
b0dd76886a
flakes: Remove hyprland
Not needed anymore since we can simply use the hyprland module in
nixpkgs.
2023-06-13 17:17:01 -04:00
Donovan Glover
44adb319f5
waybar-hyprland: Use custom overlay
This fixes an issue where waybar-hyprland would break with
hyprland-autoname-workspaces.
2023-06-13 17:01:56 -04:00
Donovan Glover
1fa52fcbbc
Revert "meta: Disable vfr at the gamemode level"
This completely broke gamemode notifications. Luckily we're using NixOS
so a revert was as easy as `git revert` and `nixos-rebuild`.
2023-06-13 11:14:46 -04:00
Donovan Glover
3df3aa19f9
meta: Disable vfr at the gamemode level
This fixes an issue where other applications would perform *worse* with
vfr disabled, notably srb2.
2023-06-13 10:45:30 -04:00
Donovan Glover
576a9727be
hyprland: Decrease default vertical split ratio 2023-06-13 09:48:42 -04:00
Donovan Glover
2b054e8c18
hyprland: Use default split ratios 2023-06-13 09:11:06 -04:00
Donovan Glover
1f3c3c0c58
neovim(alpha-nvim): Customize 2023-06-13 09:08:28 -04:00
Donovan Glover
b856e26b3a
nix: Formatting 2023-06-13 09:06:48 -04:00
Donovan Glover
0f1ea26e84
containers(osu): Fix audio 2023-06-12 23:38:37 -04:00
Donovan Glover
a642433003
containers: Add osu 2023-06-12 23:38:28 -04:00
Donovan Glover
a16236534f
neovim: Replace vim-startify with alpha-nvim
alpha-nvim is significantly faster than vim-startify and doesn't error
on first startup.
2023-06-12 21:49:32 -04:00
Donovan Glover
9b55087bf4
containers: Use graphics from host
As alluded to earlier, this significantly increases the performance of
graphical applications running inside containers.
2023-06-12 20:56:14 -04:00
Donovan Glover
8ce1e73531
containers: Add srb2 container
Previously I decided against using srb2 in a container due to the poor
performance I experienced. Since I figured out how to use the graphics
from the host inside of the container, performance is no longer an
issue.
2023-06-12 20:52:17 -04:00
Donovan Glover
48c2f322bd
meta: Add stylix to gui container
This lets us use different color schemes for different containers, as
well as maintain decent styles and fonts with applications inside of
containers.
2023-06-12 18:54:03 -04:00
Donovan Glover
8f131a64e7
Only import internal container configs
Sharing external container configs seems non-trivial and, although
possible, it may be better to simply manage containers independently.
2023-06-12 18:52:29 -04:00
Donovan Glover
bb6d0afc93
misc: Make exa man pages accessible
Even though it's possible to guarantee that a certain package is used,
it's still necessary to include packages in the $PATH in order to have
access to the man pages for them, among other things.
2023-06-12 18:40:06 -04:00
Donovan Glover
91fff9d285
hyprland: Less blur 2023-06-12 18:39:16 -04:00
Donovan Glover
b6ec715154
Update main.nix 2023-06-12 18:35:19 -04:00
Donovan Glover
dace88bc76
Move more dev stuff to neovim 2023-06-12 18:34:41 -04:00
Donovan Glover
ef0e1acfc7
containers: Add gui container 2023-06-12 18:09:57 -04:00
Donovan Glover
4cd995138d
hyprland: Don't inherit fullscreen 2023-06-12 17:35:57 -04:00
Donovan Glover
44057b2579
meta: Move cli tools to fish module
This results in a consistent environment when using any given shell.
Note that adding a package to $PATH instead of just referencing it where
it's needed is useful since otherwise the man pages are inaccessible.
2023-06-12 17:00:26 -04:00
Donovan Glover
f5d7fba157
meta: Move dev tools to neovim module
This fixes some neovim plugins throwing errors due to missing things
such as language servers.

Note that although it *would* be possible to abstract this functionality
into a variety of imports, options, or other abstractions, including
everything at once should reduce complexity since I am not interested in
maintaining different states of configuration. In other words, either
everything works, or something doesn't work and then everything works.
2023-06-12 16:54:12 -04:00
Donovan Glover
7d79840d3d
containers(dev): Add fish-starship 2023-06-12 15:10:13 -04:00
Donovan Glover
610cc8acf0
starship: Disable container module
The container module has been broken for a while and doesn't show
relevant container names.

See: https://github.com/starship/starship/issues/3592
2023-06-12 15:07:52 -04:00
Donovan Glover
cbdd5998ec
meta: Add dev container
Note that this container uses home-manager from the Nix flake on the
host system, which is pretty cool.

Currently modules in this repository *don't* differentiate between
home-manager and nixos, but this could be changed in the future to
support e.g. my home-manager neovim config on a non-nixos system.
2023-06-12 14:54:40 -04:00
Donovan Glover
9692307bd9
nix: Simplify 2023-06-12 13:40:56 -04:00
Donovan Glover
a2886940f4
nix: Move hosts to src
Might change this later once home-manager and nixos modules are
separated.
2023-06-12 13:26:54 -04:00
Donovan Glover
883c4780da
nix(ncmpcpp): Compact keybinds
Now possible since nixpkgs-fmt is used instead of alejandra.
2023-06-12 10:29:25 -04:00
Donovan Glover
5e65df256a
meta: Add treefmt 2023-06-12 03:48:15 -04:00
Donovan Glover
797c0e8ec4
neovim: Add fcitx-vim
This plugin enables smooth integration between fcitx5 and neovim. In
order words, you no longer have to manually change input methods when
switching between normal mode and insert mode.
2023-06-12 03:12:48 -04:00
Donovan Glover
41f23b165c
nix(joshuto): Fix typo 2023-06-12 03:12:11 -04:00
Donovan Glover
4e2292ebe6
joshuto(icons): Remove unused directory names 2023-06-12 03:11:40 -04:00
Donovan Glover
ce57cd1433
containers: Remove hostCfg
This shouldn't be needed since there are many other ways to share
configuration from the host, and I never used opengl.extraPackages
anyway.
2023-06-12 03:07:03 -04:00
Donovan Glover
1deb12331d
nix: Syntax highlight more strings 2023-06-11 15:37:06 -04:00
Donovan Glover
f7f8f56119
nix(joshuto): Inline toml config
This lets us take advantage of nix strings while having the entire
config in a single portable file.

Note that someone already wrote a home manager module for joshuto, which
should get merged soon.

See: https://github.com/nix-community/home-manager/pull/4004
2023-06-11 14:51:50 -04:00
Donovan Glover
759e4b6d72
hyprland: Don't use groups
I haven't used groups in a while and find things simpler that way.
2023-06-11 14:32:32 -04:00
Donovan Glover
13bde07ee7
hyprland: Remove tags script
Moving windows one by one guarantees their order, which is something
this script was unable to achieve.
2023-06-11 14:30:39 -04:00
Donovan Glover
d06d47f76a
nix: Simplify 2023-06-11 09:55:44 -04:00
Donovan Glover
44d296b2c7
nix: Replace formatter with nixpkgs-fmt 2023-06-11 09:46:26 -04:00
Donovan Glover
e268781e8e
nix: Simplify 2023-06-11 09:42:16 -04:00
Donovan Glover
43a07cc8d9
treewide: Switch from alejandra to nixpkgs-fmt
Neither nixfmt nor alejandra support the "standard" way to syntax
highlight multi-line strings in Nix, so nixpkgs-fmt is the only viable
solution.
2023-06-11 09:37:27 -04:00
Donovan Glover
09f2ce62de
mime-apps: Add default browser 2023-06-11 09:25:36 -04:00
Donovan Glover
04e0c8d038
Update packages 2023-06-11 09:22:32 -04:00
Donovan Glover
5e1b179f4c
hyprland: Fix fps drop after inactivity
This fixes an issue where Hyprland would drop from 60fps to 45fps after
being idle for some time, often 1 minute and 30 seconds. This was
problematic for viewing content while idle at 60fps with XWayland in
windowed fullscreen.

See: https://github.com/hyprwm/Hyprland/issues/2484
2023-06-11 06:21:27 -04:00
Donovan Glover
421b77a3db
nix(hyprland): Add syntax highlighting 2023-06-11 06:14:02 -04:00
Donovan Glover
19661bd0bf
waybar: Decrease active workspace background 2023-06-10 20:59:34 -04:00
Donovan Glover
b4cde71c3b
waybar: Add border-bottom to workspace buttons 2023-06-10 20:59:18 -04:00
Donovan Glover
50e317fc22
nix: Formatting 2023-06-10 20:58:45 -04:00
Donovan Glover
31ad806ce7
nix: Add syntax highlighting to strings
Note that alejandra currently does not handle these comments properly.

See: https://github.com/kamadorueda/alejandra/issues/366
2023-06-10 20:13:41 -04:00
Donovan Glover
e42bfc091a
fish: Perform local tests by default 2023-06-10 20:07:55 -04:00
Donovan Glover
e492d80d0b
tests: Differentiate between local and online tests 2023-06-10 20:07:39 -04:00
Donovan Glover
53685b9e5e
neovim: Add vim-nix-rummik
This change enables syntax highlighting of Nix strings with comments.
2023-06-10 20:06:36 -04:00
Donovan Glover
73282e699b
modules: Add waycorner 2023-06-10 19:07:55 -04:00
Donovan Glover
1b0fe2d78f
chore: Update flake inputs 2023-06-10 10:42:21 -04:00
Donovan Glover
feff455ddd
nix: Remove nixpkgs-master
Not needed anymore since waycorner and nwg-dock-hyprland are in
nixos-unstable.
2023-06-10 10:41:17 -04:00
Donovan Glover
9dacce9704
tests: Split methods into separate files 2023-06-10 10:24:47 -04:00
Donovan Glover
6c880d65a5
neovim: Make startify script always work
One of the beauties of Nix is that you don't have to depend on what is
available in a user's $PATH.
2023-06-10 10:17:43 -04:00
Donovan Glover
80e2052651
tests: Add tests for overlays 2023-06-10 09:48:14 -04:00
Donovan Glover
c91d02adc0
tests: Modularize import checker 2023-06-10 09:37:52 -04:00
Donovan Glover
36ddba7e9b
tests: Only import modules that exist 2023-06-10 09:27:36 -04:00
Donovan Glover
ad377d14fa
overlays: Add kitty duplicate lines patch
Patches the issue described below:
https://github.com/kovidgoyal/kitty/issues/6306
2023-06-10 08:31:22 -04:00
Donovan Glover
8251867144
librewolf: Highlight all by default 2023-06-10 08:15:33 -04:00
Donovan Glover
e037c54561
fish: Replace tput reset with tput clear
This should fix an issue where colors would previously get changed after
clearing the terminal.
2023-06-09 21:50:38 -04:00
Donovan Glover
ce289bb112
hyprland: Stack by default
This should keep focus on the first window open per workspace, which
should help compartmentalize workspaces based on function.
2023-06-09 21:26:48 -04:00
Donovan Glover
38188f4e19
qutebrowser: Improve accept_language formatting 2023-06-09 21:25:46 -04:00
Donovan Glover
d6fe14b803
hyprland: Add gaps keybind
Useful when you want to use gaps.
2023-06-09 21:18:35 -04:00
Donovan Glover
7654520135
modules: Add mime-apps 2023-06-09 16:21:52 -04:00
Donovan Glover
1ab27e7fe7
variables: Add defaultBrowser 2023-06-09 16:12:41 -04:00
Donovan Glover
9e5db2273b
fcitx5-mozc: Use separate files for config 2023-06-09 12:34:20 -04:00
Donovan Glover
72c548910d
chore: Update flake inputs 2023-06-09 11:33:22 -04:00
Donovan Glover
20b1d42701
neovim: Use vim-crystal from nixpkgs/unstable 2023-06-09 10:39:07 -04:00
Donovan Glover
f350e711eb
neovim: Add toggleterm-nvim 2023-06-09 10:35:05 -04:00
Donovan Glover
ac35390c59
neovim: Make lualine-nvim translucent 2023-06-09 10:34:42 -04:00
Donovan Glover
6a53d7f5eb
neovim: Make it easier to exit terminal
Note that <Esc> cannot be used for the keybind here since other plugins
like fzf-vim rely on using a terminal window that has its own escape
binding.
2023-06-09 09:56:03 -04:00
Donovan Glover
9f78256c4c
neovim: Add bufdelete-nvim
Used to delete buffers without closing the current window and only
showing nvim-tree.
2023-06-09 09:54:39 -04:00
Donovan Glover
59c19f1e7c
tests: Add test for rofi overlay 2023-06-09 09:06:04 -04:00
Donovan Glover
176f59f3bd
meta: Replace rofi package with overlay
This significantly reduces the complexity of maintaining a more recent
version of rofi-wayland.
2023-06-09 08:12:29 -04:00
Donovan Glover
29cde7537e
packages(go-thumbnailer): Fix formatting 2023-06-09 07:30:45 -04:00
Donovan Glover
4503a80c43
packages(go-thumbnailer): Simplify 2023-06-08 23:15:00 -04:00
Donovan Glover
b79b1d3672
tests: Simplify 2023-06-08 20:58:08 -04:00
Donovan Glover
250222c191
nixos-rebuild: Use verbose output 2023-06-08 20:57:50 -04:00
Donovan Glover
578190d486
neovim: Simplify cd command
augroup shouldn't be needed since this command is only ran once anyway.
2023-06-08 20:54:22 -04:00
Donovan Glover
5552b5c743
neovim: cd to git directory if it exists
This prevents an issue where it was previously possible to open files in
vim without the current directory being the project root.
2023-06-08 20:51:08 -04:00
Donovan Glover
f4db117bc3
neovim(vim-startify): Fix random quotes 2023-06-08 20:12:07 -04:00
Donovan Glover
6f32f06b3d
tests: Use more descriptive descriptions 2023-06-08 19:58:18 -04:00
Donovan Glover
bf2cdf2ec2
tests: Show hints after suite
This prevents interfering with the test output while tests are running.
2023-06-08 19:48:02 -04:00
Donovan Glover
d3e2457a89
tests: Use verbose output 2023-06-08 19:18:04 -04:00
Donovan Glover
9d4307c8a6
joshuto: Add icon support 2023-06-08 19:17:28 -04:00
Donovan Glover
cfcb2033a8
tests: Ensure latest joshuto commit 2023-06-08 19:11:40 -04:00
Donovan Glover
07ec31364f
joshuto: Update to latest commit 2023-06-08 19:10:25 -04:00
Donovan Glover
3e74ec7590
nix: Don't repeat yourself 2023-06-08 18:42:08 -04:00
Donovan Glover
48cb1ea542
packages: Use srb2 from fork 2023-06-08 18:30:38 -04:00
Donovan Glover
132e985a52
packages: Use waycorner from nixpkgs/master 2023-06-08 18:27:10 -04:00
Donovan Glover
0bb8eca867
packages: Use hyprland-autoname-workspaces from fork 2023-06-08 18:19:02 -04:00
Donovan Glover
3ad31d2df3
nix: Format with alejandra 2023-06-08 17:28:09 -04:00
Donovan Glover
b94c99d67a
nix: Sort imports alphabetically 2023-06-08 17:26:23 -04:00
Donovan Glover
47b5ac0d7d
nix: Remove logic from modules/default.nix
For simplicity, the first-level default.nix should be used to import all
the other modules.
2023-06-08 17:23:22 -04:00
Donovan Glover
d137d3342c
meta: Add tests
Tests help guarantee that I don't forget to do something that I should
have done, such as importing a certain nix module.
2023-06-08 17:15:58 -04:00
Donovan Glover
ac58a29d86
neovim: Add crystalline 2023-06-08 17:02:50 -04:00
Donovan Glover
f86dafa900
neovim: Use vim-crystal from nixpkgs/master
Nix flakes makes it easy to mix and match packages from any git
repository, which includes being able to use multiple nixpkgs branches.
2023-06-08 16:51:57 -04:00
Donovan Glover
a5941a1701
meta: Use crystal-flake for crystal development
The current crystal binary in nixpkgs complains about not finding pcre
when you try to compile anything with it, so crystal-flake is necessary
to have a working crystal environment under NixOS.

crystal-flake additionally packages crystalline, which is nice since no
one has been able to successfully create a pull request for nixpkgs yet.

Reference: https://github.com/NixOS/nixpkgs/issues/129002
2023-06-08 15:13:46 -04:00
Donovan Glover
db06c3ac02
joshuto: Add remaining config files
Note that the theme file is necessary to avoid the theme changing in
certain situations. The keymap config is the same as the default, except
with the addition of "o", which is used to select files (or a directory)
when using joshuto as a file chooser.
2023-06-08 13:43:52 -04:00
Donovan Glover
62521c914d
packages: Remove nwg-dock-hyprland
There is an open pull request for nwg-dock-hyprland, so it'll be
possible to use this package directly from nixpkgs/nixos-unstable soon.
2023-06-08 12:29:45 -04:00
Donovan Glover
5a3538a8ce
qutebrowser: Nixify fileselect 2023-06-08 11:59:38 -04:00
Donovan Glover
3950a0418a
qutebrowser: Use joshuto as the file chooser
This works when combined with `quit --output-selected-files`.
2023-06-08 11:56:24 -04:00
Donovan Glover
07c0377ffa
packages: Add nixpkgs-fmt
Useful for contributing to nixpkgs.
2023-06-07 16:32:37 -04:00
Donovan Glover
7053a79a07
hyprland: Make thunar translucent 2023-06-07 16:26:39 -04:00
Donovan Glover
27d82bfd81
hyprland: Toggle dim_inactive with <super>i 2023-06-07 16:26:18 -04:00
Donovan Glover
25c9378c38
hyprland-autoname-workspaces: Fix typo 2023-06-07 15:58:18 -04:00
Donovan Glover
2045b05b79
hyprland: Increase blur passes
When blur is enabled, it should look like things are actually blurred.
This has the advantage of making translucent windows work better when
the opacity is set by hyprland.
2023-06-07 13:52:16 -04:00
Donovan Glover
a3ffaf73a7
waybar: Fix rofi click focus
Also adds an option to simply open a new empty workspace.
2023-06-07 12:31:26 -04:00
Donovan Glover
d4f0a45da3
gamemode: Customize 2023-06-07 12:26:12 -04:00
Donovan Glover
77e16590eb
hyprland: Don't blur kitty window by default 2023-06-07 07:52:20 -04:00
Donovan Glover
f2f5560f63
neovim: Add csv-vim 2023-06-06 22:15:33 -04:00
Donovan Glover
4ca1f03f76
variables: Add stateVersion to containers 2023-06-06 22:14:48 -04:00
Donovan Glover
3a9fe397fc
joshuto: Preview lock files 2023-06-06 18:46:12 -04:00
Donovan Glover
d0c7ad0eee
neovim: Add back nvim-scrollbar
Looks like the issue where the scrollbar was hiding text behind it has
been fixed.
2023-06-06 17:09:43 -04:00
Donovan Glover
433bd5b01e
meta: Remove nixos-generators
After waiting 41 minutes to produce an output iso of 6.9 GB, the iso
itself failed to boot when trying to start it. Rather than dealing with
this excruciatingly long build process, I'd much rather use nixos-rebuild
build-vm.
2023-06-06 17:03:34 -04:00
Donovan Glover
c4636b4b05
neovim: Swap tree toggle with window switch
This makes it easier to press enter after switching to the tree window.
2023-06-06 14:04:56 -04:00
Donovan Glover
6d39ed2980
neovim: Add vim-startify 2023-06-06 12:24:49 -04:00
Donovan Glover
486178b27f
Revert "neovim: Focus tree when empty buffer"
This actually causes QuitPre to not close neovim since the tree is
closed first when quitting while the tree is focused. For simplicity,
the tree should always be unfocused to avoid ambiguity.
2023-06-06 10:52:39 -04:00
Donovan Glover
4d9a6b6877
variables: Add username 2023-06-06 10:50:42 -04:00
Donovan Glover
b5ccd2e18b
fish: Add n abbreviation for neovim 2023-06-06 10:37:06 -04:00
Donovan Glover
9a9e3be260
fish: Use variables for vm abbreviation
This prevents things from breaking if we change the hostname at a later
date.
2023-06-06 10:36:17 -04:00
Donovan Glover
a326873c6a
fish: Add abbreviation for nixos-rebuild switch 2023-06-06 10:33:51 -04:00
Donovan Glover
f6ef515f80
fish: Add abbreviation for nixos-rebuild build-vm 2023-06-06 10:32:32 -04:00
Donovan Glover
e47b456ff2
chore: Spacing 2023-06-06 10:17:15 -04:00
Donovan Glover
a69a38d287
fish: Use lowercase t for tree 2023-06-06 10:17:06 -04:00
Donovan Glover
2fcffe0a67
fish: Add git restore abbreviations 2023-06-06 10:03:09 -04:00
Donovan Glover
9ec36d2bc4
fish: Use smart-case for ripgrep 2023-06-06 10:00:04 -04:00
Donovan Glover
393e2cb241
nix: Use nix-daemon to optimize store
This *shouldn't* have a negative impact on performance, and avoids
having to remember to optimize the store periodically.
2023-06-06 08:16:27 -04:00
Donovan Glover
41571e4354
variables: Add locale 2023-06-06 08:14:52 -04:00
Donovan Glover
c59387bb1f
neovim: Close tree with QuitPre
This fixes an issue where neovim would automatically close when opening
it with a directory.
2023-06-06 07:50:37 -04:00
Donovan Glover
02dd4540e5
neovim: Focus tree when empty buffer 2023-06-06 07:40:16 -04:00
Donovan Glover
cf6064e500
neovim: Toggle tree with <leader>a
To switch between the tree and the file being edited, use <leader>;
2023-06-06 07:27:32 -04:00
Donovan Glover
f0867c039e
neovim: Open tree by default 2023-06-06 07:27:04 -04:00
Donovan Glover
c588b3a0d8
neovim: Close tree if only buffer 2023-06-06 07:18:59 -04:00
Donovan Glover
3878a636d9
nix: Remove unused argument 2023-06-06 07:14:46 -04:00
Donovan Glover
198ed44737
src: Add stateVersion to variables 2023-06-06 05:15:41 -04:00
Donovan Glover
0eadd3469b
meta: Use separate directories for each overlay 2023-06-06 05:03:29 -04:00
Donovan Glover
fc8b241f6e
packages: Use waybar from nixpkgs 2023-06-06 04:44:30 -04:00
Donovan Glover
e907fe26a3
chore: Update flake inputs 2023-06-06 04:43:23 -04:00
Donovan Glover
7265e57c9d
alejandra: Use overlay to remove ads 2023-06-05 23:24:24 -04:00
Donovan Glover
7e38c259fa
meta: Replace joshuto package with overlay
This actually took *forever*, but now that I know how to write nixpkgs
overlays, any future ones I write should be relatively straight-forward.
2023-06-05 23:07:36 -04:00
Donovan Glover
a0dae2344d
nix: Use hosts directory
This may be useful if I want to try NixOS on another host in the future.
2023-06-05 21:23:28 -04:00
Donovan Glover
5cd582cdac
meta: Use src directory
There's something cool about having a separate main.nix for your NixOS
configuration.
2023-06-05 21:16:20 -04:00
Donovan Glover
2ee8217d0b
editorconfig: Follow rust style guide 2023-06-05 20:51:31 -04:00
Donovan Glover
3119b789f8
nix: Format with alejandra
Alejandra is written in Rust, has more tests than nixfmt, and handles
non-trivial code examples in Nix better.
2023-06-05 20:50:10 -04:00
Donovan Glover
1077200205
flake.nix: Add alejandra to outputs.formatter
Now it's possible to format with alejandra with `nix fmt`.
2023-06-05 20:23:08 -04:00
Donovan Glover
fe099cad69
meta: Switch from nixfmt to alejandra
Alejandra should produce formatted code that is more consistent and
more reliable.
2023-06-05 20:20:21 -04:00
Donovan Glover
3b6ab3f265
flake.nix: Put outputs before inputs
This makes it easier to see the main logic of the application at a
glance.
2023-06-05 19:26:52 -04:00
Donovan Glover
a48575f176
chore: Spacing 2023-06-05 19:18:46 -04:00
Donovan Glover
b9f22a6ab0
kitty: Revert cell height increase
Unfortunately (or fortunately), every line matters when reading and
writing software. Because of this, increasing the cell height results in
more negative consequences than positive.
2023-06-05 19:16:40 -04:00
Donovan Glover
21eb2ab9ac
meta: Begin using variables in main configuration
This overall makes it easier to keep track of options we might want to
change (and might be defined in multiple places) without having to worry
about where those places actually are.
2023-06-05 19:01:45 -04:00
Donovan Glover
46c1c99ab6
nix: Simplify nix options
Writing nix twice here actually makes things easier to read, and should
be preferred over expansion which results in more lines of code.
2023-06-05 18:55:27 -04:00
Donovan Glover
499c80b3e6
variables: Add timezone
The point of the variables file is to make it easy to change common
configuration without having to worry about editing the other files.
2023-06-05 18:52:26 -04:00
Donovan Glover
56c20d9d8e
meta: Only capitalize variables part
This should make creating and using variables less annoying.
2023-06-05 18:51:37 -04:00
Donovan Glover
24756ad683
meta: Capitalize variables
This should make it easier to identify and search for variables.
2023-06-05 18:48:56 -04:00
Donovan Glover
aef8eaa16a
systemd-boot: Limit generations to 10
Now there won't be hundreds of generations in the boot menu.
2023-06-05 17:49:29 -04:00
Donovan Glover
ef0796dc42
nix: Add repl-flake to experimental-features
This enables us to browse all the variables in a system configuration
based on nix flakes with `nix repl .`
2023-06-05 16:11:58 -04:00
Donovan Glover
79adca57ef
packages: Add hyprland-autorename-workspaces
Note that the behavior of 1.0.0 is different than older versions,
however it doesn't appear to randomly stop working like before.
2023-06-05 14:57:04 -04:00
Donovan Glover
de11edb07c
flake.nix: Remove unused argument 2023-06-05 13:33:08 -04:00
Donovan Glover
814058fc13
nix: Add missing hardware-configuration.nix 2023-06-05 13:09:51 -04:00
Donovan Glover
6d1861e3e7
nix: Remove duplicate option 2023-06-05 13:04:20 -04:00
Donovan Glover
d254910993
nix: Remove old imports 2023-06-05 13:03:38 -04:00
Donovan Glover
57856917aa
nix: Move desktop modules to modules
This concludes the unification of modules. Future work could include
combining modules that are unlikely to be used separately.
2023-06-05 12:52:32 -04:00
Donovan Glover
f00d3538ef
nix: Rename variables file to variables.nix
No need for an "examples" directory.
2023-06-05 12:45:44 -04:00
Donovan Glover
89c9727de6
hyprland: Use the previous background by default
If no background is set, then making the background a solid color could
be ideal.
2023-06-05 12:42:12 -04:00
Donovan Glover
dc84c859e5
nix: Use naming convention for hardware-configuration
Although I could just integrate this directly in configuration.nix since
everything is a module, having a separate hardware-configuration.nix
makes it easier to integrate with other devices that may output
different configurations.
2023-06-05 12:38:17 -04:00
Donovan Glover
5fb6b65d24
nix: Merge host modules 2023-06-05 12:34:23 -04:00
Donovan Glover
757902868f
nix: Merge dev with common 2023-06-05 12:16:21 -04:00
Donovan Glover
30ccf622f7
nix: Merge user module 2023-06-05 12:12:12 -04:00
Donovan Glover
d97aa7fa1e
nix: Continue simplifying file structure 2023-06-05 12:11:07 -04:00
Donovan Glover
84af6079e4
nix: Abstract logic outside of flake
Now flake.nix does *not* need to be edited when adjusting the
configuration unless actual changes need to be done to the inputs.
2023-06-05 12:00:18 -04:00
Donovan Glover
343076f942
meta: Move terminal files to modules
Since all of these files do roughly the same thing (that is, configure
the system in a specific way that a separate file seems necessary), this
should reduce the overall complexity of the project tree.
2023-06-05 11:44:37 -04:00
Donovan Glover
1ad4e2d4af
meta: Rename applications to modules
This is my attempt at putting all modules in one directory to avoid
having to remember whether a module was a part of applications/,
desktop/, or terminal/.
2023-06-05 11:37:06 -04:00
Donovan Glover
de1fec4c76
hyprland: Don't use hyprland opacity with kitty
This avoids duplicating the opacity of kitty and hyprland if, for
example, we wanted global translucency.
2023-06-05 10:11:26 -04:00
Donovan Glover
f24734817f
udisks2: Mount on media
This makes sense since the system is a single user one.
2023-06-05 09:58:35 -04:00
Donovan Glover
199743d852
chore: Spacing 2023-06-04 21:27:03 -04:00
Donovan Glover
8c9ff827a2
virtualization: Restrict network
Note that I haven't figured out how to properly configure the networking
for the VM yet.
2023-06-04 21:19:45 -04:00
Donovan Glover
48b69008fe
Add mtr
Useful for seeing the connections one makes when using the internet.
2023-06-04 21:17:07 -04:00
Donovan Glover
932ad175ff
Fix typo 2023-06-04 21:16:26 -04:00
Donovan Glover
a5810f24d8
neovim: Show relative path in statusline 2023-06-04 21:10:18 -04:00
Donovan Glover
62515fc1f2
hyprland: Decrease blur size 2023-06-04 21:09:41 -04:00
Donovan Glover
d582079a91
Update README 2023-06-04 21:05:49 -04:00
Donovan Glover
b2cfc66516
meta: Don't autostart containers with NixOS
This fixes an issue where containers caused the boot process to slow
down, especially those that relied on mounting directories only
available once a graphical session has already started.
2023-06-04 17:19:59 -04:00
Donovan Glover
cdda9bcd27
meta: Don't wait for a network connection
This makes NixOS boot *extremely fast* since network-manager is no
longer waiting 17 seconds for a network connection.
2023-06-04 17:16:43 -04:00
Donovan Glover
6542ff2abb
systemd-boot: Boot the default entry by default
Since I never use previous generations, booting the newest entry by
default seems ideal. In the case that something is broken, it should be
possible to return to the menu by pressing space at boot.
2023-06-04 16:37:01 -04:00
Donovan Glover
734c2c2db2
systemd-boot: Disable editor
Since I don't use this feature, disabling it seems to be the play.
2023-06-04 16:33:17 -04:00
Donovan Glover
be40f75da7
waybar: Remove window title
The window title being rotated was inconvenient, and was ultimately
un-needed since there are other ways to show the focused window.
2023-06-04 15:41:27 -04:00
Donovan Glover
f67a664a76
meta: Use tmpfs for /tmp
This should speed up some things.
2023-06-04 12:37:05 -04:00
Donovan Glover
0bf134297b
virtualization: Fix cursor in hyprland
This commit fixes the cursor being upside down and inaccurate in
Hyprland. Note that show-cursor=off is used to avoid the duplicate
cursor issue described in https://github.com/swaywm/sway/issues/6581

Unlike GNOME, Hyprland does not automatically change resolution on
window change, so fullscreen is enabled by default to ensure a certain
size. In the future, a script could be used to adjust the resolution as
needed.

Related: https://github.com/hyprwm/Hyprland/issues/1056
2023-06-04 11:45:04 -04:00
Donovan Glover
91be6afd3f
virtualization: Remove GNOME
I originally used GNOME for virtualization because the cursor in
Hyprland was upside down and its position was offset by a noticeable
amount. However, now that I've figured out how to make Hyprland work
under QEMU with an accurate cursor, this is no longer needed.
2023-06-04 11:40:41 -04:00
Donovan Glover
84c7cb77b7
pkgs: Add waycorner
This works, and is a result of the work done by NotAShelf.
2023-06-04 10:26:54 -04:00
Donovan Glover
4cdf7d0e04
nix: Simplify
This commit removes some premature modularization to make it easier to
see and manipulate everything at once.
2023-06-04 09:35:40 -04:00
Donovan Glover
f55b5ae2db
meta: Use separate packages directory
This makes it easier to see all the custom packages in the repository
and reduces the amount of nested directories.
2023-06-04 08:57:01 -04:00
Donovan Glover
711791fcc5
meta: Remove super key functionality
This breaks virtualized desktop environments that depend on the super
key quite badly, so it's best to simply use an alternative modifier
instead.
2023-06-04 08:11:34 -04:00
Donovan Glover
f5e0505f93
Remove gnome scripts
Although this was useful at some point to make GNOME usable, a virtual
GNOME instance works quite fine without this script.

Whether I even need GNOME virtualization is debatable due to how much I
was able to achieve with containers. Benefits of containers include not
having to start up a virtual machine, easy sharing of files with the
host, and having the window manager manage all windows.
2023-06-03 20:50:23 -04:00
Donovan Glover
993cc7f649
hyprland: Fix winecfg resizing 2023-06-03 20:34:55 -04:00
Donovan Glover
bfc1ed42c6
chore: Run nixfmt 2023-06-03 20:32:06 -04:00
Donovan Glover
fb6d5828cf
hyprland: Animate manual resizes 2023-06-03 19:55:26 -04:00
Donovan Glover
d0f2f70d29
waybar: Fix calendar for 0.9.18 2023-06-03 19:42:06 -04:00
Donovan Glover
8a80c37aa8
Make wine container support display output
This *works*, and I was surprised that I needed to change little to
nothing at all.
2023-06-03 15:36:38 -04:00
Donovan Glover
6985903631
Add base wine container
I figured out how to get wine working on Nix, and it works surprisingly
well, however I'd like to avoid programs from writing wherever they want
and don't want to rely on a solution like firejail.

As it turns out, systemd-nspawn containers enable us to run wine applications
in a reasonably private container without access to neither the files of the
host nor its internet connection.
2023-06-03 15:29:50 -04:00
Donovan Glover
a22b9355dd
nix: Use variables
This should make things easier to change and maintain over time, with
the ultimate goal of making it easy to provide example configurations
that can be expanded upon.
2023-06-03 13:51:43 -04:00
Donovan Glover
d400ad5986
neovim: Don't save folds by default
It may be better to open files normally and have the option to manually
save/load views for predictability.
2023-06-03 13:13:07 -04:00
Donovan Glover
ed05522acd
neovim: Add fold support
This should make dealing with large files slightly easier.
2023-06-03 13:05:21 -04:00
Donovan Glover
3456ad98d4
qutebrowser: Use a blank start/default page
Might change this in the future.
2023-06-03 12:19:28 -04:00
Donovan Glover
aaa0fe82cd
mullvad: Add port forwarding example
This was my working solution at forwarding ports from a container to the
host. Although mullvad no longer supports port forwarding, this example
can still be used to forward e.g. web services from containers to the
host.
2023-06-03 11:50:21 -04:00
Donovan Glover
b8c79f1ca8
mpv: Add mpris 2023-06-03 11:34:45 -04:00
Donovan Glover
fd66253882
stylix: Decrease terminal opacity 2023-06-03 11:34:22 -04:00
Donovan Glover
e50016cd7b
Enable host virtualization
Unfortunately, libvirt / QEMU / KVM / virt-manager etc. aren't quite
there yet when it comes to virtualization of non-Linux guests. Since I
do not have the equipment necessary to pass through a second GPU, it's
much easier to rely on the current dominance that VMware has in the
field.
2023-06-03 10:58:53 -04:00
Donovan Glover
d233e33a76
Remove river.sh
As alluded to in a previous commit, this was so I wouldn't forget about
the init script I made for river.
2023-06-03 10:56:14 -04:00
Donovan Glover
cad75efb46
hyprland: Add polkit_gnome
This is necessary so GUI applications won't seem broken when they're
unable to show an authentication prompt.
2023-06-03 10:54:37 -04:00
Donovan Glover
73e5e99ccd
pipewire: Add pulseaudio
This is necessary so we can load the module-switch-on-connect module,
which makes switching between USB audio devices automatic among other
things.
2023-06-03 10:52:58 -04:00
Donovan Glover
5a7816aec8
thunar: Add glib
Unfortunately I don't remember why glib is needed but it may have been
mounting related.
2023-06-03 10:34:38 -04:00
Donovan Glover
4fdcb64b9c
Add more packages
Note that although it's now easier than ever to organize packages, the
current implementation scatters things around a bit still.
2023-06-02 19:31:38 -04:00
Donovan Glover
dc0b9d241a
nix: Remove old import 2023-06-02 19:11:27 -04:00
Donovan Glover
a0bc09bf49
neovim: Set linebreak
Should make things easier to read overall.
2023-06-02 19:10:49 -04:00
Donovan Glover
dec10648c8
Add old river init script
This is so I remember how to initialize river if I want to use it again,
although I currently have no plans to do so.
2023-06-02 19:02:31 -04:00
Donovan Glover
e4f18c2281
Add old gnome scripts
This is mainly so I remember the changes I made to GNOME.
2023-06-02 19:02:11 -04:00
Donovan Glover
3ed7f2a585
mpd: Update config 2023-06-02 17:42:16 -04:00
Donovan Glover
e6e4b56a89
Use correct locale for xdg-user-dirs 2023-06-02 17:39:51 -04:00
Donovan Glover
5748026bab
meta: Add libreoffice
Unfortunately, some files may be in .docx or similar forms.
2023-06-02 10:03:30 -04:00
Donovan Glover
10524724aa
fish: Use tput reset by default
This fixes an issue where kitty would occasionally show two cursors at
once.
2023-06-02 09:34:22 -04:00
Donovan Glover
87b04e212b
fonts: Add KanjiStrokeOrders 2023-06-02 09:33:31 -04:00
Donovan Glover
aca33b1aff
go-thumbnailer: Reference binary from nix store
This should guarantee reproducibility since the thumbnailer won't be
dependent on the $PATH of the host.
2023-06-02 09:31:52 -04:00
Donovan Glover
d873351ada
nix: Simplify 2023-06-02 09:30:42 -04:00
Donovan Glover
968e26da53
go-thumbnailer: Update inputs and sha256
This is a separate commit so I don't forget what I changed in order to
get go-thumbnailer to work.
2023-06-02 09:29:18 -04:00
Donovan Glover
b64cb3183b
meta: Add go-thumbnailer
It was surprisingly easy to package go-thumbnailer with nix, and it may
be a fun side project to make a pull request for nixpkgs.
2023-06-02 09:25:53 -04:00
Donovan Glover
4b3e662b3f
meta: Remove litemdview
Not needed with mdcat and other solutions for quick viewing.
2023-06-01 16:53:15 -04:00
Donovan Glover
3950731e82
thunar: Add gnome-keyring
This prevents thunar from showing an error message when mounting an
encrypted partition.
2023-06-01 15:17:09 -04:00
Donovan Glover
cc5e8f5f71
kitty: Increase cell height
This should make long form text easier to read in kitty without
sacrificing too much vertical screen estate.
2023-06-01 15:03:22 -04:00
Donovan Glover
5da221830d
ncmpcpp: Add on-song-change script
Now the cover image and artist + title shows on song change.
2023-06-01 15:02:57 -04:00
Donovan Glover
c9bcd57404
Add rar container
This puts rar in a rootless container with no access to the network of
the host.
2023-05-31 15:15:45 -04:00
Donovan Glover
f073819dc8
waybar: Add back hyprland postPatch
This is still necessary to make workspace switching work properly.
2023-05-31 11:50:46 -04:00
Donovan Glover
c946307c67
waybar: Update to 0.9.18
Note that with the latest version of waybar with the experimental flag
enabled and the latest version of hyprland, patching waybar *shouldn't*
be necessary.
2023-05-31 11:35:54 -04:00
Donovan Glover
26c390dd69
chore: Update flake inputs 2023-05-31 11:33:18 -04:00
Donovan Glover
f8f54d189c
joshuto: Increase preview size to 10 GB 2023-05-31 10:48:14 -04:00
Donovan Glover
f543a935c9
neovim: Add neoformat 2023-05-31 10:43:28 -04:00
Donovan Glover
cb1333e750
hyprland: Init swww with default background 2023-05-31 10:43:07 -04:00
Donovan Glover
14a8c2e561
neovim: Focus nvim-tree instead of toggling it 2023-05-31 10:41:38 -04:00
Donovan Glover
968ac924c8
Add hexyl 2023-05-31 10:41:00 -04:00
Donovan Glover
508450dd49
librewolf: Show sidebar on right by default
This allows the sidebar to be used as a reference while the more
important content is shown on the left side.
2023-05-31 10:40:11 -04:00
Donovan Glover
430de18948
librewolf: Enable letterboxing 2023-05-31 10:39:55 -04:00
Donovan Glover
66186d7027
hyprland: Limit orientations
The center orientation is broken when using a vertical waybar.
Additionally, using only two orientations for horizontal and vertical
workflows guarantees that ratio modifiers behave as expected. This works
since most applications have a focus point near the top left of the
window.
2023-05-31 10:37:02 -04:00
Donovan Glover
833d0e4322
hyprland: Don't show special by default 2023-05-31 10:35:51 -04:00
Donovan Glover
583b56f88f
dev: Add go 2023-05-31 10:35:04 -04:00
Donovan Glover
6f01e78e2b
swaylock: Increase blur 2023-05-31 10:34:43 -04:00
Donovan Glover
31f8f05a78
Enable zram
Should probably move this somewhere else later.
2023-05-31 10:34:05 -04:00
Donovan Glover
43109dcfa3
fish: Don't override with cp by default 2023-05-31 10:33:03 -04:00
Donovan Glover
1ba427a819
fish: Make cp preserve timestamps 2023-05-31 10:32:42 -04:00
Donovan Glover
a6c925fbd1
neovim: Remove nvim-scrollbar
Causes text to be hidden when the viewport is small enough.
2023-05-31 10:20:53 -04:00
Donovan Glover
d36660d87a
pipewire: Remove jack support
Probably don't need this.
2023-05-31 10:20:19 -04:00
Donovan Glover
a7087e2904
Add osu-stable
This works, and without putting wine directly in $PATH, which is kinda
cool.
2023-05-31 10:18:38 -04:00
Donovan Glover
d8914cb4d2
meta: Switch from ranger to joshuto
Joshuto is *significantly* faster than ranger and is written in Rust
instead of Python. Although both ranger and joshuto have not seen a new
release in a while, the future of joshuto seems more promising.

Joshuto is additionally faster than lf and, similar to lf, does not hang
when previewing images with kitty.
2023-05-27 16:45:05 -04:00
Donovan Glover
0fbd0e12e9
qutebrowser: Begin migrating config to nix 2023-05-26 11:02:49 -04:00
Donovan Glover
c517b25312
Disable suspend on lid close
This was more annoying than not due to having to re-establish an
internet connection every time the lid was closed. Other advantages
include the possibility to use the computer while closed.
2023-05-26 10:54:54 -04:00
Donovan Glover
3019400ff2
Fix Maple Mono font
MapleMono-NF stopped working after changing locales, however nerd fonts
still show with the nerdfonts package.
2023-05-26 10:51:35 -04:00
Donovan Glover
3c2dbb4915
Use a more sane default locale 2023-05-26 10:50:25 -04:00
Donovan Glover
aac49c0f66
hyprland: Remove swapmaster script
Although writing my own script to swap with the previous window was
cool, I ended up switching with the first child most of the time anyway.
2023-05-26 02:56:42 -04:00
Donovan Glover
6c782154d9
Update virtualization-specific config
Note that it may be better to simply manage VMs through a separate
interface than declaratively configure them in the same configuration as
the host.
2023-05-25 23:48:40 -04:00
Donovan Glover
97786206c6
qutebrowser: Use a sane default search engine
search.goo.ne.jp is more accurate than DuckDuckGo and shows results that
would otherwise be completely ignored by the latter.
2023-05-25 23:47:14 -04:00
Donovan Glover
99157848f1
neovim: Add auto-save-nvim
This lets us take advantage of live reloading and other features while
editing markdown.
2023-05-25 23:36:32 -04:00
Donovan Glover
16b2c56353
Merge udiskie and gtk with hyprland 2023-05-25 18:30:42 -04:00
Donovan Glover
f842afa6da
Merge starship with fish 2023-05-25 17:22:52 -04:00
Donovan Glover
6af5e5c6cc
meta: Enable gvfs
This gives thunar, nvim-tree, and other programs access to the trash and
other directories.
2023-05-25 17:12:56 -04:00
Donovan Glover
878ba60863
qutebrowser: Remove spellcheck
Unfortunately spellcheck is non-trivial to declaratively set up in
qutebrowser as reliance on external tools is necessary.
2023-05-25 17:10:24 -04:00
Donovan Glover
c722f857ae
librewolf: Never show bookmarks bar 2023-05-25 16:52:01 -04:00
Donovan Glover
c8d4163cc9
Remove .gitattributes
Not needed anymore since nixpkgs comes with cool things like mpv
scripts.
2023-05-25 16:51:28 -04:00
Donovan Glover
83322580a2
nix: Move up common modules 2023-05-25 16:49:17 -04:00
Donovan Glover
0fce9844f7
nix: Formatting 2023-05-25 13:08:01 -04:00
Donovan Glover
8ec7519765
ncmpcpp: Format 2023-05-25 12:15:23 -04:00
Donovan Glover
625b5348d6
fix(neovim): Add nerdfonts 2023-05-25 12:13:50 -04:00
Donovan Glover
013826c3d6
Merge X stuff with hyprland
I would love to commit to hyprland and not use any other Wayland
compositor (at least until something better comes up). For this reason,
this commit assumes that X-specific settings are exclusive to hyprland.
2023-05-25 11:21:09 -04:00
Donovan Glover
b4a099214c
Merge mozc with fcitx5
Since both are used at the same time, only importing one or the other
doesn't make sense.
2023-05-25 10:31:14 -04:00
Donovan Glover
3aa85c355b
Simplify terminal imports
Certain programs should always be available on the system, so having
separate modules goes against ensuring a certain state.
2023-05-25 10:21:39 -04:00
Donovan Glover
3ff05f0117
Simplify common imports
This shouldn't be an issue since I'd rather import all of these at once
than selectively import them.
2023-05-25 09:10:37 -04:00
Donovan Glover
93d9693f4c
Merge all dev modules together
Unlike applications which are usually independent of each other,
development tools are often used as needed.
2023-05-25 00:36:43 -04:00
Donovan Glover
aeb0eff9df
Update flake dependencies 2023-05-25 00:28:20 -04:00
Donovan Glover
6e7b429e37
neovim: Remove barbar-nvim
barbar-nvim was a non-trivial plugin that changed buffers to tabs.
Although this was cute, I like neovim's default buffers since they
*don't* show up as tabs.
2023-05-24 13:48:22 -04:00
Donovan Glover
f5e63579a3
chore: Improve formatting 2023-05-24 11:40:49 -04:00
Donovan Glover
5a71c25c57
Merge tig with git module
This makes sense since I wouldn't use git without tig.
2023-05-24 11:39:40 -04:00
Donovan Glover
53d7a10509
virtualization: Enable auto-login 2023-05-24 10:54:43 -04:00
Donovan Glover
fac59427f2
hyprland: Copy area by default 2023-05-23 19:39:29 -04:00
Donovan Glover
5e409451d9
hyprland: Disable workspace_back_and_forth
This makes changing workspaces more predictable.
2023-05-23 19:37:40 -04:00
Donovan Glover
327f360a58
waybar: Decrease opacity 2023-05-23 19:09:45 -04:00
Donovan Glover
babd93ba62
waybar: Add same workspace option
Now it's possible to right click to open an application on the same
workspace.
2023-05-23 19:09:11 -04:00
Donovan Glover
8258530c58
Add packages
zallij is a cool tmux replacement that has sane defaults.
2023-05-23 19:07:39 -04:00
Donovan Glover
c887c4f005
Remove vagrant abbreviations
I have no plans to continue using Vagrant now that I know how to use Nix
and NixOS.
2023-05-23 18:59:17 -04:00
Donovan Glover
58a829819a
Remove helix
Not needed since nvim-lspconfig now works.
2023-05-23 18:16:48 -04:00
Donovan Glover
d84966817b
fish: Remove old abbreviations 2023-05-23 17:51:05 -04:00
Donovan Glover
f8dc7f64f0
fix(hyprland): Use -1 for gaps_out
This fixes an issue where hyprland windows would not completely cover
the background on the right side of the screen.
2023-05-23 17:33:01 -04:00
Donovan Glover
187028c552
meta: Autologin with greetd and tuigreet 2023-05-23 17:14:24 -04:00
Donovan Glover
162b3d0d13
neovim: Add more language servers 2023-05-23 17:12:35 -04:00
Donovan Glover
ae485beaf5
meta: Toggle special workspace with right shift
Finally, a use for the right shift key.
2023-05-23 17:10:43 -04:00
Donovan Glover
cbcebe4833
hyprland: Make special workspaces take up full screen 2023-05-23 17:05:21 -04:00
Donovan Glover
644dffba42
nix: Simplify 2023-05-23 12:27:49 -04:00
Donovan Glover
b973e86085
neovim: Add git-blame-nvim 2023-05-23 12:05:31 -04:00
Donovan Glover
4b63d5b7e5
srb2: Simplify cmake patch 2023-05-23 08:44:46 -04:00
Donovan Glover
7170a915e6
hyprland: Don't allow small splits
This fixes an issue where the master-stack layout would be broken when
the orientation was top and all windows were master.
2023-05-22 23:10:20 -04:00
Donovan Glover
7b9017d34b
hyprland: Increase blur size 2023-05-22 23:08:39 -04:00
Donovan Glover
b6f885bec5
waybar: Move the bar to the right
This makes the bar less likely to be seen since eye focus is usually on
the left side of the screen for left-to-right text.
2023-05-22 23:06:20 -04:00
Donovan Glover
49a621f081
meta: Toggle rofi with super key
This is a Wayland implementation similar to ksuperkey that is able to
fully toggle rofi with just the super key.
2023-05-22 23:01:31 -04:00
Donovan Glover
24f61278c6
rofi: Add custom rofi-wayland package
This is a modified version of the package in nixpkgs that uses the
latest commit.
2023-05-22 22:57:43 -04:00
Donovan Glover
04d13c993d
neovim: Add nvim-lspconfig
No idea why this wasn't working before but it now works so I'm not
complaining.
2023-05-22 14:33:56 -04:00
Donovan Glover
3aa5eaf72c
stylix: Let stylix handle opacity 2023-05-22 14:17:15 -04:00
Donovan Glover
3be68d15bd
hyprland: Remove borders
Borders aren't that useful when you already know which window is being
focused. In the event that you need to know which window has focus, you
can either look at waybar or use a toggle that dims inactive windows.
2023-05-22 14:03:51 -04:00
Donovan Glover
9fa09ac977
hyprland: Kill waybar instead of hide it
This fixes an issue where the location of waybar would still be blurred
when hiding it.
2023-05-22 13:00:49 -04:00
Donovan Glover
7eedab85f8
waybar: Don't use systemd service
This caused the bar to be unclickable.
2023-05-22 12:59:55 -04:00
Donovan Glover
4cf15a0fcf
chore: Update flake dependencies 2023-05-22 12:10:43 -04:00
Donovan Glover
1286ec48cb
Revert "hyprland: Use hyprctl activeworkspace"
"activeworkspace" can be useful if you aren't interested in the special
workspace, but since it ignores special workspaces, it causes this
script to behave unexpectedly.
2023-05-21 14:17:08 -04:00
Donovan Glover
0c9c74fb2a
hyprland: Cycle through orientations
Note that the center orientation is currently broken when an application
such as waybar requests vertical space.
2023-05-21 11:48:48 -04:00
Donovan Glover
a8f8286c12
fish: Remove docker abbreviations
Now that I know how to use Nix and NixOS, declarative containers written
in Nix seem a lot nicer than Dockerfiles and docker-compose.yml.
2023-05-21 11:47:14 -04:00
Donovan Glover
08d3f0f811
Replace swaybg with swww
swww has some advantages like webp support (something that was rejected
for swaybg due to the feature not existing in a library they were
using). Additionally, it's convenient to only have to worry about one
swww instance instead of multiple swaybg instances.
2023-05-21 11:39:44 -04:00
Donovan Glover
0cc159ab8e
srb2: 2.2.10 -> 2.2.11
Note that the cmake patch reverts the following commit:
036d5cce40
2023-05-20 10:53:49 -04:00
Donovan Glover
908a1c922f
Add nwg-dock-hyprland
Based on https://github.com/NixOS/nixpkgs/pull/201362
2023-05-19 08:18:58 -04:00
Donovan Glover
ff1abe7eec
yarn: Add emoji support 2023-05-19 06:20:26 -04:00
Donovan Glover
436d1543df
Add grimblast through flake 2023-05-19 05:40:10 -04:00
Donovan Glover
7b6add8431
Move packages into modules 2023-05-19 02:54:35 -04:00
Donovan Glover
2cebedd7e7
Let home-manager know user exists
Should fix an issue where home-manager wasn't executing previously.
2023-05-18 20:33:55 -04:00
Donovan Glover
334ae340af
home-manager: useUserPackages
Supposedly useful and may become the default in the future.
2023-05-18 20:32:09 -04:00
Donovan Glover
844df06137
Revert "nix: Simplify"
Looks like this silently broke home-manager, so reverting for now.
2023-05-18 20:30:49 -04:00
Donovan Glover
936a47667a
nix: Simplify 2023-05-18 19:38:18 -04:00
Donovan Glover
d9cc1ac084
Update README 2023-05-18 19:26:49 -04:00
Donovan Glover
724e4374a8
Move laptop config to host 2023-05-18 19:22:31 -04:00
Donovan Glover
f399280ff1
nix: Further categorization 2023-05-18 19:12:30 -04:00
Donovan Glover
f160de4ad2
Remove firejail
Shouldn't be needed with containers and virtualization.
2023-05-18 18:40:41 -04:00
Donovan Glover
4e4a8730a5
Combine gpg-agent with gpg module 2023-05-18 17:40:05 -04:00
Donovan Glover
7a7c3032d9
Remove vnstat
Cute but not interested in all the statistics such as "estimated" that
it provides.
2023-05-18 16:09:10 -04:00
Donovan Glover
7737a4bb79
Remove tlp
Supposedly not needed anymore. I haven't noticed any difference myself
when using it, and have no plans to customize it.
2023-05-18 16:06:54 -04:00
Donovan Glover
7acbdb32cf
Combine mpd with ncmpcpp module 2023-05-18 15:58:30 -04:00
Donovan Glover
7bcb8a5807
Split modules based on function 2023-05-18 15:54:15 -04:00
Donovan Glover
e20be890d0
Remove distinction between home-manager files 2023-05-18 11:46:41 -04:00
Donovan Glover
3d8e6f356e
Merge fish module 2023-05-18 09:49:56 -04:00
Donovan Glover
343e0cf6e0
Use separate directories for all modules 2023-05-17 16:57:33 -04:00
Donovan Glover
33d4e88d01
Make git available to root
Necessary for if we need to run nixos-rebuild switch under root.
2023-05-17 16:10:02 -04:00
Donovan Glover
43cb50c2ce
Start hyprland on tty1 login 2023-05-17 16:09:35 -04:00
Donovan Glover
bcaaea97d2
Remove unneeded home-manager options 2023-05-17 16:08:28 -04:00
Donovan Glover
e09febf522
Add user module 2023-05-17 15:58:08 -04:00
Donovan Glover
afc98ce47e
Remove configuration.nix
Not needed anymore since we know how to use nix modules.
2023-05-17 12:50:55 -04:00
Donovan Glover
b8de7a9304
Update systemPackages 2023-05-17 12:29:22 -04:00
Donovan Glover
2966ab79d6
Add module for piper 2023-05-17 11:51:52 -04:00
Donovan Glover
a2d6373232
Make home.nix a proper module 2023-05-17 11:51:12 -04:00
Donovan Glover
4012f0a381
nix: Modularize 2023-05-17 10:17:42 -04:00
Donovan Glover
4a7b603536
nix: Continue modularization 2023-05-17 10:02:36 -04:00
Donovan Glover
9c64fffdc8
Combine system configuration with home-manager
This works well since I am not interested in different users on the same
machine having different state, and keeps all the relevant configuration
for specific programs in one file.
2023-05-17 08:44:15 -04:00
Donovan Glover
a9b7a93fd1
nix: Follow home-manager for stylix 2023-05-16 23:35:52 -04:00
Donovan Glover
1e7f0136f5
nix: Follow nixpkgs for all inputs 2023-05-16 23:07:14 -04:00
Donovan Glover
d5db1b513e
Make srb2 a module
This makes it easier to add and remove srb2 from machines by simply
importing its module.
2023-05-16 21:23:13 -04:00
Donovan Glover
4f18602527
Add osu module
Note that osu! is currently unfree since it depends on the bass audio
library.
2023-05-16 21:16:47 -04:00
Donovan Glover
855e82b8e7
nix: Update flake inputs 2023-05-16 21:11:40 -04:00
Donovan Glover
6d99247c6f
nix: Remove unused arguments 2023-05-16 19:29:19 -04:00
Donovan Glover
a648078472
home-manager: Separate remaining modules 2023-05-16 19:10:16 -04:00
Donovan Glover
70948c2a8c
hyprland: Allow focus on activate
This change makes it so that when you open an application that is
already open, Hyprland will focus the workspace of that application.
2023-05-16 18:10:10 -04:00
Donovan Glover
1ff399e41c
hyprland: Allow all horizontal splits
This change makes it possible to have all windows stacked on top of each
other horizontally, similar to river and other dynamic window managers.
2023-05-16 18:08:51 -04:00
Donovan Glover
8f78ecfd0b
hyprland: Don't refocus mouse until new window
This fixes an issue where floating windows would have their focus lost
if you accidentally moved the mouse while on the window behind it.

This also fixes an issue where focus would be lost on a special
workspace if the workspace in the background had a fullscreen xwayland
application.
2023-05-16 18:07:30 -04:00
Donovan Glover
a267d9158b
hyprland: Remove udiskie exec-once
This shouldn't be needed since home-manager automatically starts the
udiskie service.
2023-05-16 18:06:03 -04:00
Donovan Glover
c71949f46e
nix: Use separate module for librewolf 2023-05-16 18:04:04 -04:00
Donovan Glover
47da22c951
modules: Add tlp
Note that this may be better as a host-specific module.
2023-05-16 17:54:20 -04:00
Donovan Glover
7947472035
nix: Fix function arguments 2023-05-16 17:24:07 -04:00
Donovan Glover
b6f16a9877
Only import one file for home-manager 2023-05-16 17:22:00 -04:00
Donovan Glover
a9703aad9a
Continue moving fish config to fish module 2023-05-16 17:18:48 -04:00
Donovan Glover
8c027300e6
Modularize htop and dual-function-keys 2023-05-16 17:18:06 -04:00
Donovan Glover
537357307e
Split more configs into separate modules 2023-05-16 17:09:05 -04:00
Donovan Glover
70d7091d17
home-manager: Remove chromium
I'm really not interested in maintaining chromium since it doesn't come
with sane defaults like ublock origin. Since qutebrowser uses chromium,
it should work fine as a chromium replacement if needed.
2023-05-16 16:31:03 -04:00
Donovan Glover
8b31ad8202
Abstract fcitx5 and rofi into separate files 2023-05-16 15:50:38 -04:00
Donovan Glover
19dda06920
Abstract stylix and fonts into modules 2023-05-16 14:52:59 -04:00
Donovan Glover
a17ba29926
Abstract starship and fish into separate modules
This should make things easier to reason about and more modular in
general.
2023-05-16 12:33:53 -04:00
Donovan Glover
8e05ad4cae
hyprland: Use hyprctl activeworkspace
This is a new command that came out 2 weeks ago.
2023-05-16 11:17:06 -04:00
Donovan Glover
4ec4d25c14
hyprland: Remove focusmaster.sh
I don't actually use this.
2023-05-16 11:03:20 -04:00
Donovan Glover
ae8fdd8ac7
pkgs: Add srb2 package
This is necessary since the current srb2 package in nixpkgs is outdated.

Based on https://github.com/NixOS/nixpkgs/pull/187320
2023-05-16 10:58:55 -04:00
Donovan Glover
a3e21ba90d
neovim: Remove broken plugins
As nice as it would be to use nvim-cursorline, it simply causes too many
issues with other files, throwing errors on each cursor movement.
2023-05-15 15:50:49 -04:00
Donovan Glover
71214a7d3a
gtk: Fix wrong icon theme being used
The dark variant is naturally for dark color schemes.
2023-05-14 15:59:58 -04:00
Donovan Glover
c7c6a7160c
Remove lf/pistol
Ranger is preferred since it's the tool I'm familiar with.
2023-05-14 14:07:38 -04:00
Donovan Glover
23c05a122f
Add attempt at using pistol with lf
Unfortunately, this doesn't work, so it's much simpler to stick with
ranger for now.
2023-05-14 14:06:09 -04:00
Donovan Glover
b518a28f46
waybar: Change workspace numbers
Might make this configurable later.
2023-05-14 13:14:00 -04:00
Donovan Glover
7da4e81c63
waybar: Use GTK theme
This handles some things for us that would be difficult to achieve
otherwise.
2023-05-14 13:03:01 -04:00
Donovan Glover
08bb2d0baf
hyprland: Add fix for swapping between workspaces
See https://github.com/hyprwm/Hyprland/issues/2263
2023-05-14 12:13:11 -04:00
Donovan Glover
ec8a5c6d8c
waybar: Disable tooltip for new workspace
Unfortunately, tooltip-format is unsupported by custom modules, so the
best we can do is disable tooltips.
2023-05-14 10:31:42 -04:00
Donovan Glover
b83d0fb0d7
hyprland: Enable workspace_back_and_forth
This fixes an issue where certain fullscreen xwayland applications would
break when attempting to switch to the same workspace.

Note that `bind = SUPER, grave, workspace, previous` may have also
solved this issue, however it's currently broken on master.
2023-05-14 09:56:01 -04:00
Donovan Glover
fd077016b8
waybar: Use tray spacing from module
This fixes an issue where the spacing wasn't correct.
2023-05-14 09:31:14 -04:00
Donovan Glover
3622c56d88
waybar: Add custom new workspace button
This makes it easy to both add a new workspace and launch rofi with one
click.
2023-05-14 09:25:05 -04:00
Donovan Glover
f272fa0c2c
hyprland: Add back other workspace keybinds
Having 10 workspaces is better than having 5 and not having enough.
2023-05-14 09:21:10 -04:00
Donovan Glover
b7ceedea5b
hyprland: Remove super+tab/super+shift+tab
These keybinds conflict with the GNOME VM.
2023-05-14 09:20:25 -04:00
Donovan Glover
ba433f022c
fcitx: Fix tray icon colors 2023-05-14 08:00:47 -04:00
Donovan Glover
a607c099ea
waybar: Make the bar look nicer 2023-05-13 22:32:35 -04:00
Donovan Glover
281a3a9198
Run nixfmt 2023-05-13 22:01:48 -04:00
Donovan Glover
187c05425d
hyprland: Fade special workspace 2023-05-13 22:01:10 -04:00
Donovan Glover
27d70fc177
waybar: Use font-awesome for icons 2023-05-13 16:29:38 -04:00
Donovan Glover
1777b976e9
meta: Remove declarative containers
Because of how easy it is to create and run virtual machines in NixOS,
the use of containers is not necessary. Virtual machines additionally
outperform containers when it comes to graphical tasks, and allow for
the usage of a variety of GUI applications separate from the host.
2023-05-13 16:15:49 -04:00
Donovan Glover
b21a7742fe
waybar: Use systemd service
Now waybar automatically restarts as needed.
2023-05-13 15:42:24 -04:00
Donovan Glover
c57b94aade
qemu: Switch from gtk to sdl
This prevents any sort of menu bars from showing, which were unneeded,
and lets us take full advantage of the screen estate for the VM.
2023-05-13 15:20:27 -04:00
Donovan Glover
c1c27a3a9c
hyprland: Remove per-key orientation switching
In order to avoid conflicts with keybinds in the GNOME VM, removing
per-key orientation switching and replacing it with one key that
switches between all orientations seems ideal.
2023-05-13 14:57:17 -04:00
Donovan Glover
c6c927dcfb
waybar: Move layer to top
Now shows tooltips on top, but at the cost of fullscreen X11
applications not being "truly fullscreen" unless done at the compositor
level.
2023-05-13 14:43:41 -04:00
Donovan Glover
8b77689112
waybar: Add workspace/tooltip styles 2023-05-13 14:35:28 -04:00
Donovan Glover
f6aefe5654
Use GNOME for VMs
This fixes an issue where Hyprland would suffer from the upside-down
cursor bug in QEMU/KVM due to depending on wl-roots.
2023-05-12 23:02:49 -04:00
Donovan Glover
aee65e4cb1
Change workspace animation to vertical
Vertical is nice since the animation is faster and covers less of the
screen. It works well with the master layout since you can easily see
the master window of each workspace.

Being able to have unique partitioning schemes for each workspace (as
long as they're using the master layout) is a nice advantage of Hyprland
over other compositors like river.
2023-05-12 22:37:17 -04:00
Donovan Glover
905b1b26a7
feat: Make waybar vertical 2023-05-12 22:24:42 -04:00
Donovan Glover
4a9413fa9e
Hardcode base16-monokai colors for hyprland
Note that this uses the base0A, base09, and base02 colors specifically.
The first two are the accent colors used by Stylix, and the last one is
the color that was closest to Hyprland's default.
2023-05-12 16:24:32 -04:00
Donovan Glover
75b41cfce1
Remove old FZF_DEFAULT_COMMAND
This isn't needed anymore since we no longer deal with hidden
directories by default.
2023-05-12 16:08:56 -04:00
Donovan Glover
f4d67dcc4e
Replace telescope-nvim with fzf-vim
Unfortunately, telescope-nvim was a downgrade from fzf-vim due to lack
of transparency out of the box, a different window size, and searches
not showing by default.
2023-05-12 16:05:54 -04:00
Donovan Glover
a2a9d9b4dd
Hardcode base16-monokai colors for rofi
Although I'm sure it's *possible* to use the colors from Stylix in my
custom theme with Nix, it may take some time for me to figure out how.
Pull requests welcome.
2023-05-12 15:57:05 -04:00
Donovan Glover
d01d1fe7db
rofi: Add theme 2023-05-12 15:49:15 -04:00
Donovan Glover
ac02f53242
neovim: Add lua keybinds 2023-05-12 12:27:16 -04:00
Donovan Glover
ceebe55482
Add xfce.exo package
This makes "Open Terminal Here" work in Thunar.
2023-05-12 12:18:17 -04:00
Donovan Glover
52351da1fe
Add back rofi
Rofi is actually quite convenient, so it's better to leave it as an
option.
2023-05-12 12:17:19 -04:00
Donovan Glover
5ce3256383
Fix fcitx5 settings being overwritten
There was also a typo where I referenced fcitx/config instead of
fcitx5/config.
2023-05-12 11:56:21 -04:00
Donovan Glover
c3aa34812a
Make home-manager apply to all users 2023-05-12 11:34:48 -04:00
Donovan Glover
ce39f9f6d9
Finish nixification
The nixification is now complete.
2023-05-12 01:48:51 -04:00
Donovan Glover
ad3090d161
hyprland: Simplify config
Less is more.
2023-05-12 01:43:33 -04:00
Donovan Glover
328f30151b
hyprland: Source non-trivial scripts
I may simplify this later.
2023-05-12 01:29:35 -04:00
Donovan Glover
5c180d227d
Add color scripts 2023-05-12 01:19:03 -04:00
Donovan Glover
971f6d5032
Remove remaining arch linux scripts
I didn't think it would happen but it happened. NixOS meets my needs
much better than Arch Linux does.
2023-05-12 01:18:23 -04:00
Donovan Glover
34ea4f1ec7
hyprland: Change layerrule to waybar 2023-05-12 00:58:39 -04:00
Donovan Glover
3d0ac37308
hyprland: Remove groups
Groups add a certain amount of complexity that I'd rather not have to
deal with.
2023-05-12 00:47:57 -04:00
Donovan Glover
4109ed7b3b
hyprland: Remove old scripts 2023-05-12 00:47:32 -04:00
Donovan Glover
5cad30aab0
Migrate fcitx config to nix 2023-05-12 00:37:59 -04:00
Donovan Glover
574855cc11
Manage qutebrowser config with home-manager 2023-05-12 00:23:34 -04:00
Donovan Glover
629c0d9881
Update package list 2023-05-12 00:05:31 -04:00
Donovan Glover
4a03bc4164
fix: Don't blank cursor at the hyprland level
This fixes an issue where the cursor would occasionally show in
fullscreen applications where the cursor was not expected to show.

The cursor will still disappear when using kitty.
2023-05-11 21:31:31 -04:00
Donovan Glover
c9a3d9c8c5
Remove old meta package
I personally find it frightening that I was previously using PKGBUILDs
in Arch Linux for something that could have been so elegantly achieved
with Nix and NixOS.
2023-05-11 20:37:31 -04:00
Donovan Glover
ad5f9aa991
Remove hosts directory for now
A hosts directory may be useful later.
2023-05-11 19:31:35 -04:00
Donovan Glover
2c281b8529
Move remaining home-manager stuff to home.nix 2023-05-11 19:25:09 -04:00
Donovan Glover
9e11cb4278
Simplify modules to home.nix
I *may* abstract this in the future, but for now I have no reason to.
2023-05-11 19:14:59 -04:00
Donovan Glover
95ccadd612
Run nixfmt 2023-05-11 19:07:04 -04:00
Donovan Glover
6794f7be19
Decrease systemd timeout
Unfortunately, the system occasionally gets stuck at the dreaded "stop
job" message at times. I haven't delved into figuring out the cause yet,
but this change ensures that shutdowns occur in a timely manner.
2023-05-11 19:05:22 -04:00
Donovan Glover
bae89090b0
Update packages 2023-05-11 19:04:47 -04:00
Donovan Glover
19a42793b5
Remove wayland support from containers
This was cute, but I really don't want to worry about the implications
of software sharing the same Wayland socket as the host.
2023-05-11 19:03:07 -04:00
Donovan Glover
341d3aeae5
Remove rofi
This is an experiment to see if I prefer launching everything from the
terminal to get a more tty-like feel.
2023-05-11 18:53:43 -04:00
Donovan Glover
317c7b5dc6
fish: Fix export syntax 2023-05-11 17:48:01 -04:00
Donovan Glover
25bc5c972b
Add gituser 2023-05-11 17:47:32 -04:00
Donovan Glover
7eaa501eac
Use htop-vim
Note that git is removed here since it's available in home-manager.
2023-05-11 17:31:50 -04:00
Donovan Glover
ca38df812f
Add fcitx5-mozc 2023-05-11 17:22:53 -04:00
Donovan Glover
5a4b6ebd1b
hyprland: Update hyprland.conf 2023-05-11 17:21:30 -04:00
Donovan Glover
0038165390
Nixify fish config
Note that the home manager module isn't used here since the resulting
config.fish made fish noticeably slower on startup.
2023-05-11 17:19:21 -04:00
Donovan Glover
dac973d4a9
qutebrowser: Remove pywal stuff
Stylix is quite nice since it affects the whole system. It feels like a
truly immersive experience when the system boots into a color scheme you
set.
2023-05-11 16:45:20 -04:00
Donovan Glover
ab910245b3
Add virtualization settings
This makes the VM beefier and uses virtio so Hyprland works.
2023-05-11 16:40:58 -04:00
Donovan Glover
7f4eac5446
Migrate remaining neovim config to nix 2023-05-11 16:30:12 -04:00
Donovan Glover
a47c056439
Remove old fish config 2023-05-11 15:15:41 -04:00
Donovan Glover
f3a14515f8
Remove KMSCON support
Unfortunately, KMSCON was extremely buggy and caused a variety of
graphical glitches and random character sequences across a non-trivial
amount of virtual consoles. Because of this, Hyprland as the main
environment will be preferred with a way to emulate a tty-like
appearance.
2023-05-11 14:06:38 -04:00
Donovan Glover
30ffc5cd4e
Add KMSCON support
This change makes it possible to see Japanese and other exotic
characters in the virtual console.
2023-05-11 13:48:16 -04:00
Donovan Glover
c45a96764f
nix: Continue nixification 2023-05-11 12:56:13 -04:00
Donovan Glover
5322fc02b8
nix: Nixify more dotfiles 2023-05-11 07:30:58 -04:00
Donovan Glover
0d0c00f1d9
nix: Nixify feh
Although it would be nice to use a Wayland image viewer, currently all
of them (that I am aware of) suffer from anti-aliasing issues not present
in feh.
2023-05-11 00:46:26 -04:00
Donovan Glover
ac3769d21c
nix: Nixify dunst 2023-05-11 00:29:03 -04:00
Donovan Glover
23ddf7de1a
nix: Nixify mpv 2023-05-11 00:05:19 -04:00
Donovan Glover
8f84edcce3
Remove old tmux config
In the event that I need to use tmux, the default config is fine.
2023-05-10 23:35:08 -04:00
Donovan Glover
1128ee65fd
wip: Neoify vim config
Removing old and outdated stuff that is no longer relevant or doesn't
apply to neovim specifically.
2023-05-10 23:31:01 -04:00
Donovan Glover
be51dac62a
nix: Use nixpkgs for stylix 2023-05-10 22:43:11 -04:00
Donovan Glover
2fa459de0c
Update .gitignore 2023-05-10 22:19:36 -04:00
Donovan Glover
601a903787
Add new README 2023-05-10 16:47:35 -04:00
Donovan Glover
451c1f7d89
meta: Remove old README
Goodbye, old readme.
2023-05-10 15:36:12 -04:00
Donovan Glover
0d806e7f2d
fish: Start hyprland by default on tty1 2023-05-10 15:28:18 -04:00
Donovan Glover
eacd7f7392
nix: Various changes
- Changed some packages
- Changed fonts
- Removed autostart from container
2023-05-10 15:26:08 -04:00
Donovan Glover
1e6a35b242
fix: Don't use a display manager
This fixes an issue where a display manager like sddm increases the
complexity of the system.
2023-05-10 15:22:53 -04:00
Donovan Glover
8745033373
hyprland: Use background from nix store
Note that instead of searching for the background at runtime, it is
likely possible to reference the background at build time when the
hyprland config is migrated to Nix.
2023-05-10 15:12:01 -04:00
Donovan Glover
1a3583567b
Remove wal
This isn't needed anymore since Stylix is quite cool and modifies color
schemes at the system level.
2023-05-10 15:08:34 -04:00
Donovan Glover
10908e340b
feat: Add xdg-user-dirs support 2023-05-10 14:37:42 -04:00
Donovan Glover
5230741e65
feat: Add mpd/ncmpcpp 2023-05-10 13:51:21 -04:00
Donovan Glover
cd32ad2e27
feat: Add gtk config 2023-05-10 13:51:05 -04:00
Donovan Glover
e05914ae18
feat: Add tig config 2023-05-10 13:49:47 -04:00
Donovan Glover
50b4a48709
Begin cleaning up archlinux directory
After using Nix and NixOS for a few days, I can't believe I did
something like this in the past. Having a single reproducible flake is
significantly more pragmatic than imperatively configuring everything.
2023-05-10 13:45:10 -04:00
Donovan Glover
ef97a778aa
fix: Add wallpaper.png
A wallpaper is required for Stylix to work, so I added one with base00
as the background color and the NixOS logo as the foreground image.

Credit for the logo goes to the original author who licensed it under
CC-BY: https://releases.nixos.org/nix-dev/2016-October/021876.html
2023-05-10 13:21:31 -04:00
Donovan Glover
176a8b6597
feat: Add dunst support 2023-05-10 12:52:58 -04:00
Donovan Glover
88ccef09b3
feat: Add bat support 2023-05-10 12:52:45 -04:00
Donovan Glover
0d23db84da
feat: Start kitty from thunar 2023-05-10 12:52:23 -04:00
Donovan Glover
680668ede2
feat: Migrate xresources and cursor theme to nix 2023-05-10 12:52:02 -04:00
Donovan Glover
7dcaa2378e
fix: Migrate remaining kitty config to nix 2023-05-10 12:50:16 -04:00
Donovan Glover
62a75c5800
feat: Add remaining starship config
This change shows text instead of emoji and other symbols that aren't
supported in ttys.
2023-05-10 12:43:34 -04:00
Donovan Glover
077e826020
feat: Add sound support 2023-05-10 12:34:37 -04:00
Donovan Glover
c0377103bd
fix: Remove alacritty
Alacritty does not support MapleMono-NF as a font, whereas kitty does.
kitty also has other nice features such as built-in windows/tabs and
image support.
2023-05-10 11:50:15 -04:00
Donovan Glover
15b231a157
feat: Add zathura config
Note that loading a runtime file in ~/.cache/wal is no longer necessary
since configuration is done declaratively through Nix.

Although this has some downsides, such as the lack of "live reloading"
in some applications, this "feature" wasn't present across all
applications anyway.
2023-05-10 11:44:21 -04:00
Donovan Glover
55e3c4a813
feat: Add stylix
Stylix is like a maintained version of pywal but configuration changes
are managed by Nix and Home Manager, thus guaranteeing a certain level
of reproducibility with its declarative nature.
2023-05-10 11:32:47 -04:00
Donovan Glover
4e47467c7c
fix(neovim): Remove colorizer and cursorline
colorizer bugged out presumably due to order being determined by the Nix
language. I did not like cursorline however I did think cursorword was
cool, so I'm keeping that part of it for now.
2023-05-09 23:44:26 -04:00
Donovan Glover
053e365978
fix: Clean up fish abbreviations 2023-05-09 22:45:32 -04:00
Donovan Glover
c6d5150c83
feat: Add udiskie and swaylock support 2023-05-09 22:44:16 -04:00
Donovan Glover
4df1d91e19
fix(waybar): Use waybar-hyprland from flake
This fixes an issue where wlr/workspaces is considered experimental in
waybar and thus does not work with the current nixpkgs version on NixOS.

References:
- https://github.com/Alexays/Waybar/issues/1766
- https://github.com/hyprwm/Hyprland/discussions/1729
2023-05-09 22:40:06 -04:00
Donovan Glover
27f7daeece
nix(editor): Misc changes
- Added undofile
- Added spell check
- Added back built-in file explorer
- Added some plugins
2023-05-09 21:14:13 -04:00
Donovan Glover
9ef7c04c99
meta: Remove Makefile
Not needed anymore thanks to NixOS, Home Manager, and Nix Flakes.
2023-05-09 20:17:13 -04:00
Donovan Glover
2c9327b039
nix: Use hosts directory
This should make it easier to derive multiple output machines from the
same input flake.nix.
2023-05-09 20:13:37 -04:00
Donovan Glover
0b50b9ce64
hyprland: Update config
Will eventually nixify this since I find working with the Nix store much
more convenient than stowing dotfiles.
2023-05-09 19:56:36 -04:00
Donovan Glover
7b363920a2
nix: Remove GNOME stuff
Although I could technically make a gnome module and make it really easy
to switch between gnome and hyprland, I'm not really interested in
maintaining that right now.

For example, there was a recent bug in nautilus where deleted files
would not show up as deleted. There was another bug where opening a
terminal would not focus the terminal window. I'd much rather use
hyprland in this case due to the faster release cycle and simpler code
base overall.
2023-05-09 19:30:59 -04:00
Donovan Glover
619c6b5c43
meta: Remove contributing.md
For anyone that wants to contribute, you are free to do so. Now that my
configuration is simpler, however, as well as with the experience I've
gained over the years, there should be less things that need changing.
2023-05-09 19:26:39 -04:00
Donovan Glover
643a8306f3
meta: Remove changelog
This was cute, however I didn't actually use the changelog. Now that I
am using NixOS with Hyprland, the old changelog is irrelevant, and any
changes I make should be easily discoverable since things are simpler
now.
2023-05-09 19:23:27 -04:00
Donovan Glover
7c6534cd7c
meta: Continue removing old dotfiles 2023-05-09 19:01:30 -04:00
Donovan Glover
a3b4b2b08b
fish: Clean up config
Should be able to get rid of most of this later.
2023-05-09 15:59:49 -04:00
Donovan Glover
b95cc4184a
nix: Update editor.nix
Was trying out some neovim plugins with Nix. Pretty cool that I don't
have to worry about using *another* package manager like packer.nvim.
2023-05-09 14:08:46 -04:00
Donovan Glover
e1d740fb63
nix: Abstract hyprland config into separate module
This should make it easy to switch between hyprland and other
environments if wanted.
2023-05-09 14:04:01 -04:00
Donovan Glover
1c99ffd784
nix: Modularize editor
Now I know how to abstract modules into separate files instead of having
one big file for everything.
2023-05-09 11:43:39 -04:00
Donovan Glover
f8e257a89d
nix: Add basic neovim config
This should eventually replace the old .vimrc.
2023-05-09 10:18:39 -04:00
Donovan Glover
5b402f4804
nix: Add home-manager config 2023-05-09 00:45:59 -04:00
Donovan Glover
4cfacb73ae
nix: Add hardware-configuration.nix 2023-05-09 00:35:14 -04:00
Donovan Glover
de7c391ba4
nix: Update lockfile 2023-05-08 22:16:46 -04:00
Donovan Glover
0230c9b4b0
home-manager: Use master branch 2023-05-08 22:16:27 -04:00
Donovan Glover
2cc88a5f4c
meta: Remove more old dotfiles
- alacritty: Prefer kitty.
- dual-function-keys: Managed with Nix.
- editorconfig: Managed with home-manager.
- librewolf: Managed with home-manager.
- river: Prefer hyprland.
- swayidle: Can use home-manager.
- swaylock: Managed with home-manager.
- yambar: Prefer waybar for simplicity.
2023-05-08 21:31:32 -04:00
Donovan Glover
a8f7f8702e
meta: Remove unused packages
- code: No plans to use anything that isn't neovim.
- picom: Don't need anymore thanks to Hyprland.
- polybar: X11-only. yambar/waybar work as alternatives.
- tint2: X11-only. Functionality can be replicated with waybar.
- xinit: No need when using Wayland.
2023-05-08 15:39:02 -04:00
Donovan Glover
5e5f64dc80
nix: Add starship config
Similar to fish, there's some relief in knowing that I can declare my
starship settings in Nix and have them accessible from any user on the
machine, even root.
2023-05-08 14:26:00 -04:00
Donovan Glover
c0810fd98e
nix: Add fish abbreviations
I originally wasn't going to mix logic from my dotfiles with NixOS,
however I was unable to simply use my abbreviations after adding
~/.config/fish/config.fish, so I decided to give it a try.

Using Nix to manage fish abbreviations feels nicer than using a
config.fish because I am now easily able to manipulate these
abbreviations with the limitless possibilities of the Nix language, and
with the guarantee that the output is reproducible.
2023-05-08 14:18:41 -04:00
Donovan Glover
bc722c5043
meta: Remove paru
Paru is no longer needed since I use Nix instead, which doesn't need an
AUR helper.
2023-05-08 13:58:08 -04:00
Donovan Glover
3236df33f6
nix: Update configuration.nix
Highlights:

- Added a test container with network configuration and Wayland support
- Added GNOME/Hyprland support with SDDM
- Added Git/Starship/GPG support
- Properly added Neovim support with .enable
- Various package changes
- Made caps lock function as escape on tap, left ctrl on hold
- Print screen functions as right super on hold
2023-05-08 13:56:53 -04:00
Donovan Glover
d69fe99210
nix: Use nixos-unstable
This fixes an issue where the exact branch wasn't specified before.
2023-05-08 13:40:15 -04:00
Donovan Glover
26f4ee265b
nix: Add flake.lock 2023-05-08 13:38:39 -04:00
Donovan Glover
c15dc29944
meta: Remove bspwm/sxhkd
I used bspwm for over half a decade, and although it was great, I am now
interested in using Hyprland, which is basically bspwm for Wayland but
better.
2023-05-08 13:31:48 -04:00
Donovan Glover
d654c01f30
nix: Fix nixpkgs url 2023-05-08 13:19:45 -04:00
Donovan Glover
30589fe822
misc: Update styles
Will automate the bar color changes later.
2023-05-04 23:54:04 -04:00
Donovan Glover
12963e54d5
hyprland: Fix focus on swapmaster
This fixes an issue where swapmaster wouldn't focus master when swapping
after changing between a non-empty workspace.
2023-05-04 22:17:42 -04:00
Donovan Glover
41b803ec19
nix: Update configuration.nix
home-manager shouldn't be needed here since it's managed by the flake
instead.
2023-05-04 13:19:56 -04:00
Donovan Glover
00fc33cad8
nix: Add flake.nix
This may or may not work; I haven't tested it yet.
2023-05-04 13:09:55 -04:00
Donovan Glover
abd2d1a4cf
meta: Add configuration.nix
These are my first steps towards using Nix and NixOS to declaratively
configure a reasonably good development environment. I am aware that
there are various paradigms that include using home manager and/or
flakes, however I am still exploring with a simple configuration.nix.
2023-05-03 01:26:59 -04:00
Donovan Glover
665a9d6099
meta: Add migration notice to README 2023-05-03 01:15:17 -04:00
Donovan Glover
947aba84a4
mpv: Update config 2023-05-02 22:06:12 -04:00
Donovan Glover
6036a9821a
yambar: Update config 2023-05-02 21:58:03 -04:00
Donovan Glover
a2dd9cedc8
kitty: Update config 2023-05-02 21:57:27 -04:00
Donovan Glover
84b3bc37ee
hyprland: Add performance script from wiki 2023-05-02 21:51:11 -04:00
Donovan Glover
b99d7f8395
swaylock: Update config
swaylock-effects is no longer used for simplicity.
2023-05-02 21:40:15 -04:00
Donovan Glover
971ce5fb63
yambar: Add title script 2023-05-02 21:37:15 -04:00
Donovan Glover
6da8592a15
librewolf: Update overrides 2023-05-02 21:33:58 -04:00
Donovan Glover
ab92960987
gtk: Use generic themes
This simplifies things a bit.
2023-05-02 20:59:27 -04:00
Donovan Glover
6bfdb67480
hyprland: Add multi-monitor support to tags.sh
This fixes an issue where the script would previously fail to work with
multiple monitors.
2023-04-30 21:09:24 -04:00
Donovan Glover
8e203e5a84
hyprland: Add focusmaster script 2023-04-30 21:07:53 -04:00
Donovan Glover
534e5c93ad
vim: Update .vimrc 2023-04-30 19:38:43 -04:00
Donovan Glover
f55258e94f
Update LICENSE 2023-04-30 19:37:54 -04:00
Donovan Glover
d4a4438852
hyprland: Use blur
Blur now makes sense since rofi and yambar are possible to blur as well.
2023-04-30 18:42:07 -04:00
Donovan Glover
f9efa2a364
rofi: Update config.rasi
One notable change is that it's now possible to select entries with a
single click.
2023-04-30 18:36:48 -04:00
Donovan Glover
1dd1f46554
rofi: Use launchpad theme
This is a slightly modified version of Newman Sánchez's launchpad theme
that adds pywal support and makes the icons bigger.
2023-04-30 18:33:11 -04:00
Donovan Glover
8004d74a17
yambar: Simplify battery icon 2023-04-30 17:35:40 -04:00
Donovan Glover
bc9a42e7bd
yambar: Sleep twice as long
Later it may be possible to only update yambar on hyprland events.
2023-04-30 17:32:49 -04:00
Donovan Glover
37a3d9450e
fish: Update config
- Added opus function
- Moved ex function to separate file
2023-04-30 16:02:37 -04:00
Donovan Glover
03d7b50ca6
dunst: Change font 2023-04-30 16:01:44 -04:00
Donovan Glover
9ca761e7cd
hyprland: Update config
Notable changes:

- Set a background, start yambar, set volume, and play audio on startup
- Remove gaps by default
- Remove blur
- Increase special scale factor
- Show red for xwayland windows
2023-04-30 15:00:50 -04:00
Donovan Glover
25cb38bed7
polybar: Update config 2023-04-30 14:17:52 -04:00
Donovan Glover
4e8ef18535
yambar: Add backlight and volume 2023-04-30 13:51:05 -04:00
Donovan Glover
7484827bb7
yambar: Add pipewire script 2023-04-30 13:50:22 -04:00
Donovan Glover
08b5d9a72b
hyprland: Add toggle layout script 2023-04-30 13:46:59 -04:00
Donovan Glover
feb84afb12
hyprland: Add swapmaster script
This is an alternative to the default swapmaster behavior that, instead
of swapping with the first child, swaps with the last active window if
the currently focused window is master.
2023-04-30 13:43:24 -04:00
Donovan Glover
68a8b3369c
hyprland: Add tags script
This somewhat replicates the cool tag functionality observed in dwm,
river, and similar window managers.
2023-04-30 13:00:47 -04:00
Donovan Glover
b00d8c9ebb
hyprland: Add toggle yambar script 2023-04-30 12:53:02 -04:00
Donovan Glover
cdd27be432
yambar: Remove river support
Hyprland does most of what river could do but better, so focusing on
Hyprland is ideal to simplify configuration.
2023-04-26 16:01:17 -04:00
Donovan Glover
a53f76a0be
yambar: Handle special workspace 2023-04-26 16:00:34 -04:00
Donovan Glover
049dc47f2a
meta: Add yambar 2023-04-26 03:24:26 -04:00
Donovan Glover
0f720ca3c0
sxhkd: Add dzen2 script
This was a script I used to show the workspace number without having to
worry about having a bar in bspwm.
2023-04-26 02:40:56 -04:00
Donovan Glover
3ed20a4ae8
waybar: Update config
This was my attempt at getting waybar to play nicely with both Hyprland
and river, although I prefer yambar now.
2023-04-26 01:53:28 -04:00
Donovan Glover
51a3e26332
hyprland: Use river-like keybinds 2023-04-25 22:41:21 -04:00
Donovan Glover
a4c5c4ee05
git: Remove hard-coded diff-highlight colors
This makes pywal themes more likely to work with diff-so-fancy.
2023-04-25 22:13:58 -04:00
Donovan Glover
1c17a6dd22
meta: Add river
river is a cool Wayland compositor that I've been trying for a few days
now. There are some bugs and unimplemented features, however, that make
me want to use Hyprland instead.
2023-04-24 15:35:45 -04:00
Donovan Glover
7bbd7281e5
wal: Simplify done.sh
Since I plan to not use tint2 and bspwm anymore, there is no need for
those scripts to run with done.sh.
2023-04-24 01:09:11 -04:00
Donovan Glover
dd027edc61
tint2: Call fullscreen.sh with wal.sh 2023-04-24 01:08:35 -04:00
Donovan Glover
83d0503272
gpg: Simplify gpg.conf
Many of these settings are not necessary to change since they're the
default anyway, and by using the defaults, important settings should be
automatically applied over time.
2023-04-24 01:03:41 -04:00
Donovan Glover
9f6a741589
tint2: Use separate fullscreen.sh
Using a separate file was so tint2 would continue to show below
fullscreen windows after changing themes with wal.
2023-04-24 01:01:31 -04:00
Donovan Glover
c0495805d5
bspwm: Update bspwmrc 2023-04-24 00:59:45 -04:00
Donovan Glover
5fa6520e26
code: Update settings.json 2023-04-23 23:03:33 -04:00
Donovan Glover
2fff973177
hyprland: Update config
Changes include:

- fcitx5 support
- Removed middle click paste
- udiskie starts by default
- Internal screen is 1x scale by default
- Acceleration profile is flat
- swww settings added
- Gaps are smaller by default
- No border by default
- Master layout by default
- No rounding by default
- Special workspace uses fade animation
- New windows become master
- rofi used over of wofi
- Super+O to toggle waybar
- Super+U to toggle between master/dwindle layouts
- Super+S to toggle special workspace
- Super+Ctrl+[0-9] for river/dwm-like tag behavior
- Super+Alt for group keybinds
- Volume/brightness keybinds
2023-04-23 22:11:50 -04:00
Donovan Glover
1b55e870c5
waybar: Update styles
Changes include:

- Support for Hyprland and river.
- Noto Sans by default.
- Taskbar styles.
2023-04-23 21:50:36 -04:00
Donovan Glover
226b79ae75
picom: Add more opacity rules
Logseq looks quite nice with transparency.
2023-04-23 20:45:28 -04:00
Donovan Glover
ff0a1e0ef9
rofi: Don't make rofi a normal window
This isn't needed now that I am no longer interested in starting rofi on
a separate desktop for dynamic bspwmm desktops.
2023-04-23 20:44:23 -04:00
Donovan Glover
2853b6b21d
bspwm: Remove dynamic desktops
This was cute but I prefer tags now.
2023-04-23 20:40:35 -04:00
Donovan Glover
578479a866
ranger: Show hidden files 2023-04-23 20:36:51 -04:00
Donovan Glover
176aae124b
fish: Increase rg limit 2023-04-23 20:31:52 -04:00
Donovan Glover
276a4ccd5f
alacritty: Fix decorations_theme_variant capitalization 2023-04-23 20:31:06 -04:00
Donovan Glover
b7002980f8
vim: Remove coc.nvim
I never use this and it was actually making tab not work when at the end
of of a word. Getting rid of it entirely means less running code that I
have to maintain.
2023-04-11 20:11:39 -04:00
Donovan Glover
a4654beb2b
sxhkd: Remove super+tab
Pressing the actual number of the desktop is more productive than
tabbing between them since you associate the hand movement with that
workspace, making it easier to return to later.

Super+tab, in contrast, was one hand movement that resulted in many
different results, which wasn't so good for memorizing which desktop has
what.
2023-04-11 18:32:29 -04:00
Donovan Glover
726aedf7d3
meta: Remove sway (for real this time)
Hyprland has all the benefits of Sway but with the advantage of using a
bspwm-like layout instead of an i3-like layout.
2023-04-11 17:04:10 -04:00
Donovan Glover
b067b280fb
hyprland: Replace $mainMod with SUPER
I don't think I've ever had to change from SUPER in my years of using
Linux, and if I ever had to, it'd be a simple find and replace.

Using SUPER explicitly here makes things easier to read and understand
without having to worry about additional variables.
2023-04-11 16:15:23 -04:00
Donovan Glover
be1f812b57
hyprland: Change default keybindings
Super+Enter is now the infamous new terminal keybind, and Super+Q now
closes windows as expected.

Other changes include using a single instance for kitty and adding
basic screenshotting functionality.
2023-04-11 16:13:43 -04:00
Donovan Glover
cf965f58cb
hyprland: Don't disable touchpad while typing 2023-04-11 15:53:14 -04:00
Donovan Glover
807ccdfde2
hyprland: Move focus with hjkl 2023-04-11 15:52:21 -04:00
Donovan Glover
e9d998c9bc
hyprland: Add fcitx5 support
This works surprisingly well and actually seems less buggy (if at all)
than fcitx5 under Sway based on my testing.
2023-04-11 15:06:51 -04:00
Donovan Glover
56ba2633cb
hyprland: Enable workspace swipe
This is huge and means that I no longer have to use the buggy libinput
hacks that I used previously. So far, I haven't experienced any bugs
with hyprland gestures that I experienced with libinput-gestures.
2023-04-10 18:21:59 -04:00
Donovan Glover
c42127cd0d
hyprland: Enable natural scroll 2023-04-10 18:21:36 -04:00
Donovan Glover
ae0dc7696e
hyprland: Use yes/no instead of true/false
Personal preference. I like the shorter syntax and how it feels less
like work and more like something natural for humans.
2023-04-10 18:18:29 -04:00
Donovan Glover
34f7a43f43
meta: Add hyprland
From my initial testing, hyprland seems quite nice and opens new windows
similar to bspwm. Not having to specify whether a window should open
horizontally or vertically makes things feel a lot smoother compared to
sway.
2023-04-10 18:07:57 -04:00
Donovan Glover
71eb44efaa
sway: Enable variable refresh rate 2023-04-08 13:55:30 -04:00
Donovan Glover
24655c9d6f
vim: Remove editorconfig plugin
This is no longer needed since neovim 0.9.0 has editorconfig built-in.
2023-04-07 22:33:12 -04:00
Donovan Glover
dd45c84a10
bspwm: Use ranger as a file browser
This change, in combination with xdg-desktop-portal-termfilechooser-git,
was my attempt to use ranger as a file browser. Although it worked, it
unfortunately caused ranger to crash in some instances, likely due to
incorrect parameters.
2023-04-07 22:32:39 -04:00
Donovan Glover
166b8d01cc
vim: Remove on/for optimizations
The vim-plug FAQ recommends against using on/for. Most modern plugins
should lazily load without this workaround.
2023-04-01 17:55:47 -04:00
Donovan Glover
10c79f72d0
bspwm: Don't open new nodes on empty desktops
I initially programmed this "dynamic desktops" implementation for a
similar feel to GNOME, however after using it for a few months I
realized that I was taking away one of the main advantages of a tiling
window manager by having all windows not tile by default.

Additionally, I ran into some edge cases where the next window would not
show if opened on a desktop that had multiple nodes open. Although I
could probably figure out the cause with some effort, I'd much rather
enjoy the simplicity of the traditional tiling hierarchy once more.
2023-03-25 07:23:41 -04:00
Donovan Glover
9089c7a2c1
alacritty: Change browser to librewolf 2023-03-24 11:18:22 -04:00
Donovan Glover
2ba1966ea4
kitty: Slightly decrease background opacity 2023-03-23 08:29:22 -04:00
Donovan Glover
b86ebd002b
picom: Add translucency for dzen 2023-03-23 08:29:05 -04:00
Donovan Glover
7528fb9816
alacritty: Replace outdated gtk_theme_variant 2023-03-23 08:28:04 -04:00
Donovan Glover
95fa20b5c7
alacritty: Fix outdated template variable 2023-03-23 08:26:59 -04:00
Donovan Glover
4bfc2ce71f
bspwm: Use super+grave for alttab
This gives us the convenience of switching desktops while also giving us
the option of the traditional alt+tab approach if needed.

Note that all desktop-related keybinds use the super key so alt and ctrl
modifiers can be used by desktop programs.
2023-03-22 19:10:52 -04:00
Donovan Glover
4da78955aa
ncmpcpp: Add cross-fading support
This is supposedly different than implementing cross-fade with mpc.
2023-03-21 09:36:25 -04:00
Donovan Glover
292e3e8e2b
meta: Add visualization support
This should have an insignificant impact on performance, so it doesn't
hurt to have the option to run a visualizer with ncmpcpp or other
applications.
2023-03-21 09:35:36 -04:00
Donovan Glover
2f06d001cb
bspwm: Disable middle click paste
One of the advantages of xorg. As far as I remember, there wasn't a
trivial way to disable middle click paste on wayland.
2023-03-21 09:24:46 -04:00
Donovan Glover
07fe725710
bspwm: Make alttab work with alt-tab
This fixes an issue where, at some point, I changed the behavior of
Super+Tab to switch desktops. Having both options gives the flexibility
of choosing whether or not you want to see the other windows while
tabbing through them.
2023-03-20 09:16:43 -04:00
Donovan Glover
d8d658a013
Revert "wal: Remove bspwm/dunst/tint2 scripts"
Now that I use bspwm/dunst/tint2 again, these scripts are once again
relevant.
2023-03-19 22:12:56 -04:00
Donovan Glover
6b69d7fbab
bspwm: Remove picom experimental-backends
This fixes an issue where picom wouldn't load since we were using an
outdated command.
2023-03-19 19:10:01 -04:00
Donovan Glover
7869b118a1
meta: Add back remaining dotfiles
Not sure if I'll remove these again. All I know is that I'll no longer
have to worry about not having certain dotfiles if I want to try a
particular setup again, which is nice.
2023-03-19 18:26:04 -04:00
Donovan Glover
6f75925146
meta: Revert recent dotfile removals
Although removing these dotfiles gave the repository a clean feeling, it
made it significantly harder to resume using a certain window manager or
other tool at any time.

Instead of removing dotfiles entirely, it's enough to simply not install
the programs you don't want to use, or even install them but not open
them.
2023-03-19 18:02:26 -04:00
Donovan Glover
15f6d80a52
Revert "meta: Remove bspwm"
2 months ago, I removed bspwm in favor of GNOME. After using GNOME as a
daily driver for some months now, I can appreciate it as a nice desktop
environment for many GNU/Linux users, however it does not meet my needs
as well as a customized window manager setup can.

In reality, I don't need *too much* from a window manager; it just needs
to manage windows in a reasonable way. For anything else I need, I am
free to program it myself as a learning exercise. I prefer understanding
most if not everything running in my environment versus having various
GNOME utilities running in the background.
2023-03-19 16:15:43 -04:00
Donovan Glover
5916e69acf
Revert "kitty: Switch to Hack Nerd font"
This fixes an issue where an incorrect font was being used. Nerd icons
still work in this case.
2023-03-19 14:16:12 -04:00
Donovan Glover
d8181108e4
editorconfig: Indent markdown with tabs
Since I now use Logseq for personal knowledge management, it's easier to
make all markdown files use tabs by default.
2023-03-19 14:12:17 -04:00
Donovan Glover
843a6dd824
meta: Switch back to librewolf
After using firefox for a while, a deal-breaker for me was that the
regular version is impossible load custom extensions for without signing
them before-hand.

Although it's possible to load extensions through about:debugging every
time the web browser is started, it's significantly easier for me to
simply use librewolf and not worry about it. Additionally, I can now
leverage the many additional features librewolf has compared to firefox,
and now no longer have to worry about "configuring firefox" after
installing it.
2023-03-19 13:46:43 -04:00
Donovan Glover
c049703c62
fish: Remove task integration
Since I no longer use taskwarrior, this is no longer needed.
2023-01-10 01:48:47 -05:00
Donovan Glover
4aed765e41
meta: Remove neofetch
Now that I use GNOME, I no longer have a need for neofetch since GNOME
has its own about page in the settings. This also means I no longer have
to deal with neofetch being unmaintained and fetching the wrong
background images under GNOME.
2023-01-08 00:15:41 -05:00
Donovan Glover
1bcadf80df
meta: Remove feh
feh was one of the fastest image viewers I've ever used, however since I
now use GNOME, having a minimal keyboard-only image viewer is no longer
necessary.
2023-01-08 00:10:28 -05:00
Donovan Glover
1ff2b22c91
meta: Remove xresources
As far as I can tell, this does not change anything in my GNOME setup,
so I'm removing it in favor of gsettings solutions.
2023-01-08 00:08:28 -05:00
Donovan Glover
adf98a785b
meta: Remove zathura
Although zathura is a great piece of software that opens pdf files at
blazing fast speeds, I no longer have a use for it since GNOME's
document viewer works just as well, and even lets you use a mouse with
it!
2023-01-07 22:43:56 -05:00
Donovan Glover
3c9bddbebd
meta: Remove xcursor
Since GNOME handles the cursor on its own, I should no longer need to
worry about having an xcursor file.
2023-01-07 05:26:07 -05:00
Donovan Glover
043ab74fa6
meta: Remove fcitx
Since I now use GNOME which uses ibus as the input method framework of
choice, I no longer need these fcitx settings.
2023-01-07 05:22:32 -05:00
Donovan Glover
ca068714b1
meta: Remove gtk
Now that I use GNOME that manages things with gsettings, this should no
longer be needed.
2023-01-07 04:47:14 -05:00
Donovan Glover
c0c47c484b
meta: Remove xinit
Since I no longer use startx to start bspwm or any other window manager,
.xinitrc is no longer needed.
2023-01-07 04:40:46 -05:00
Donovan Glover
eba931c7cc
meta: Remove rofi
Although rofi is an amazing piece of software, I no longer have a need
for it after submitting to the simplicity of GNOME.
2023-01-07 04:37:30 -05:00
Donovan Glover
8597a7bfd6
meta: Remove picom
The recent blur additions in picom were absolutely stunning, and I'm a
bit saddened to have to leave it, however I also no longer need to worry
about the compositor only working under X11.
2023-01-07 04:33:57 -05:00
Donovan Glover
cc3bb6c60d
meta: Remove tint2
tint2 is a great piece of software that I enjoyed playing with, however
it is drastically easier and more convenient to simply use dash-to-panel
in GNOME if you're looking for that traditional taskbar-like experience.

As a bonus, such a taskbar would work under both Xorg and Wayland, have
features such as preview on hover, and won't have anti-features such as
the bar not being clickable unless you perform Xorg shenanigans.
2023-01-07 04:29:24 -05:00
Donovan Glover
6262d570a1
meta: Remove bspwm
After over 5 years of bspwm, I have decided to enjoy myself in the
luxurious life that is GNOME.

Using bspwm and window managers in general was an invaluable learning
experience that gave me a deep understanding of many of the novelties
of the current linux desktop computing model. It had a profound impact
on my understanding of how operating systems work in general, and I
now wish to move on and enjoy modern GNOME simplicity.
2023-01-07 04:20:56 -05:00
Donovan Glover
0396617ea6
meta: Remove sxhkd
What a ride. Although I absolutely loved configuring my keybinds through
sxhkd, more so than i3 / sway and similar window managers, I didn't
realize that most of what I was doing under bspwm could also be
accomplished under GNOME through gsettings.
2023-01-07 04:11:26 -05:00
Donovan Glover
088c7f6f37
meta: Remove dunst
Since I now use GNOME, I no longer need to worry about configuring a
separate program to show notifications. Although GNOME notifications
aren't nearly as customizable, they match the theme of the desktop
environment and get the job done.
2023-01-07 04:06:06 -05:00
Donovan Glover
910289038c
meta: Remove qutebrowser
Although qutebrowser was very cute, there are too many disadvantages to
using it that can be solved by simply using a more mainstream browser. I
cover some of those issues in previous commit messages.
2023-01-07 04:03:16 -05:00
Donovan Glover
64e407d082
meta: Remove thunar
Although thunar was cute, the recent nautilus update is nice enough
that I prefer it over the wpgtk customization that thunar provides.
2023-01-07 04:00:35 -05:00
Donovan Glover
7deb910555
meta: Remove librewolf
I should be able to get by with the default firefox browser, which
should be easier to maintain and require less third parties to trust.
2023-01-07 03:55:32 -05:00
Donovan Glover
8b6e283089
vim: Add yomichan-like command with tango
Note that although this was great from a proof-of-concept point of view,
it's significantly easier and more effective to simply use the yomichan
add-on in a web browser like firefox.
2023-01-07 03:51:50 -05:00
Donovan Glover
ce76ede629
kitty: Don't show title bar under GNOME Wayland
This fixes an issue where the title bar would continue to show with the
pixel-saver GNOME extension.
2023-01-07 03:44:17 -05:00
Donovan Glover
0046bc54d6
kitty: Don't use a blinking cursor
This doesn't seem necessary in most cases.
2023-01-07 03:43:29 -05:00
Donovan Glover
129b0275ab
vim: Update coc.nvim config
As far as I remember, these were changes from the README or other
similar documentation.
2023-01-07 03:41:13 -05:00
Donovan Glover
edbeec006f
vim: Use consistent lightline background color 2023-01-07 03:37:02 -05:00
Donovan Glover
36470f2b24
sxhkd: Update wal keybinds
As far as I remember, the -e was necessary to avoid the automatic tint2
reload causing the bar to be unclickable under bspwm.
2023-01-07 03:30:42 -05:00
Donovan Glover
3d631a90df
sxhkd: Use rofi with ksuperkey
I eventually realized that GNOME accomplishes this and much more with
a lower probability of issues occurring.
2023-01-07 03:28:03 -05:00
Donovan Glover
f7a57d0875
sxhkd: Add keybinds to control kitty opacity 2023-01-07 03:25:35 -05:00
Donovan Glover
7833b3712f
sxhkd: Add separate kitty launch script
This made it possible to control the opacity of the terminal with sxhkd
keybinds.
2023-01-07 03:22:16 -05:00
Donovan Glover
ba5675586a
sxhkd: Replace polybar toggle with tint2 2023-01-07 03:17:06 -05:00
Donovan Glover
d2a49bd4eb
kitty: Open new tabs in current working directory 2023-01-07 01:34:48 -05:00
Donovan Glover
25f6763956
kitty: Use shorter tab titles 2023-01-07 01:34:14 -05:00
Donovan Glover
789543f085
rofi: Support shell commands
This change made it so it was possible to use rofi as a terminal.
2023-01-07 01:30:48 -05:00
Donovan Glover
93f611225e
vim: Add nerdtree settings
Although there are other solutions available now, nerdtree still works
fairly well for our use case.
2023-01-07 01:28:43 -05:00
Donovan Glover
40f5dc971e
rofi: Show as separate window
This makes it possible to close rofi with the same keybind that is used
to open it. Also got rid of an obsolete drun string.
2023-01-07 01:17:55 -05:00
Donovan Glover
cc4c81b4d0
fish: Source wal colors as needed 2023-01-07 01:06:38 -05:00
Donovan Glover
fff41b8d39
fish: Always use kitty ssh 2023-01-07 01:06:08 -05:00
Donovan Glover
9a1c0ca8fd
rofi: Remove leading text from search 2023-01-07 01:00:05 -05:00
Donovan Glover
5168f7cdad
rofi: Use sans-serif font 2023-01-07 00:59:06 -05:00
Donovan Glover
87ba2c540e
mpv: Don't show progress on seek 2023-01-07 00:58:13 -05:00
Donovan Glover
fc41c957c2
ranger: Replace $HOME with ~ 2023-01-07 00:55:03 -05:00
Donovan Glover
e3d055bafe
bspwm: Don't use borders/gaps by default 2023-01-07 00:53:17 -05:00
Donovan Glover
6b977d9394
bspwm: Make rofi float 2023-01-07 00:52:09 -05:00
Donovan Glover
3c67353d23
sxhkd: Revise node keybinds 2023-01-07 00:51:33 -05:00
Donovan Glover
a99716560c
sxhkd: Simplify desktop focusing 2023-01-07 00:50:52 -05:00
Donovan Glover
a17bdb86f6
vim: Add vim-astro
Although I haven't used it to its fullest potential,
https://astro.build/ seems interesting.
2023-01-07 00:48:34 -05:00
Donovan Glover
b1f7d08eac
vim: Don't restrict shell to sh
As far as I remember, this makes using the built-in terminal command
more convenient.
2023-01-06 12:35:40 -05:00
Donovan Glover
ebfee783b0
ranger: Add devicons
It feels like this doesn't improve readability that much if at all, but
it's nice to have the option.
2023-01-05 02:33:53 -05:00
Donovan Glover
271a01a266
kitty: Remove linux_display_server x11
fcitx5 works with kitty under wayland on gnome, so this isn't needed.
2023-01-05 02:31:19 -05:00
Donovan Glover
a1f21df5aa
paru: Enable SudoLoop
This makes it easier to update the system without sudo timing out.
2023-01-05 02:27:24 -05:00
Donovan Glover
7af4af4f49
sxhkd: Add dropdown todos
Since I now use GNOME, I'll never go through these TODOs, however
anyone is free to implement these ideas on their own time.
2023-01-05 02:18:41 -05:00
Donovan Glover
bd79606da0
ranger: Move to trash with DD 2023-01-05 02:15:03 -05:00
Donovan Glover
699eb3fd6f
dunst: Change frame settings
As far as I remember, these changes simply make the frame around dunst
notifications look nicer across more color schemes.
2023-01-05 02:13:33 -05:00
Donovan Glover
167b9f7445
meta: Add tint2
This was the configuration I used for tint2 when I was trying to
replicate a taskbar-like experience in bspwm. Although it worked to some
extent, the dash-to-panel extension for GNOME handles this much nicer,
and with the many other benefits GNOME provides.
2023-01-05 02:11:34 -05:00
Donovan Glover
dc9d624599
rofi: Add custom wal template
As far as I remember, this was used to prevent the rofi theme from being
unreadable with some pywal color schemes.
2023-01-05 02:09:15 -05:00
Donovan Glover
1767e2cf0a
dunst: Increase font size
As far as I remember, this change was useful to make the text size
look nice next to the cover image from mpd notify.
2023-01-04 18:42:00 -05:00
Donovan Glover
70596ac7b2
meta: Add dual-function-keys
dual-function-keys is an amazing piece of software that solves many if
not all of the long-lasting issues I had with binding caps lock to ctrl
and escape. I have additionally configured it in a way such that print
screen can double as a right super key, due to it being next to right
alt and right ctrl on the T14.
2023-01-04 18:20:04 -05:00
Donovan Glover
c7aca39c84
meta: Add librewolf
This was my configuration for librewolf, a web browser I used for a few
months before ultimately deciding to use firefox again for simplicity.

Although librewolf is useful for giving individuals immediate access to
a solid browser with ublock origin pre-installed, the downsides such as
not having automatic updates for users that need it the most, as well as
constantly depending on another project to update in a timely manner,
do not seem worth it in the long-term.
2023-01-04 18:15:32 -05:00
Donovan Glover
4328490bfd
meta: Add qutebrowser
This was my configuration for qutebrowser, a web browser that I
revisited in 2022 and decided to use for a few months. Although I
certainly found the experience quite cute, I came across issues such
as the content window blanking when switching workspaces, strict https
mode not being supported, containerization requiring separate tabs, and
frequent crashes when dealing with large amounts of tabs.

Besides the issues above, I also had to deal with certain websites
not loading in qutebrowser without any way to troubleshoot it from
developer tools. In addition to the lack of extension support (thereby
requiring more involved measures to replicate similar behavior found in
other browsers) and the inferior content blocking solution, I ultimately
decided to switch back to my old trusty friend firefox.
2023-01-03 11:39:59 -05:00
Donovan Glover
2bfb8bb961
bspwm: Add dynamic desktops implementation
This was my implementation of dynamic desktops, largely inspired by the
various hints I found on r/bspwm. Although this was a very engaging
intellectual exercise, I eventually realized that GNOME handles dynamic
desktops much better, and comes with a slew of other conveniences as
well.
2022-12-26 22:36:39 -05:00
Donovan Glover
60f5353318
wal: Remove bspwm/dunst/tint2 scripts
By prioritizing GNOME, we're able to focus on being productive instead
of customizing our linux setup.
2022-12-26 22:27:44 -05:00
Donovan Glover
7761db6936
Revert "starship: Add date and time"
This is no longer needed since we use GNOME as the desktop environment,
which makes it easy to see the date and time as needed.
2022-12-26 22:24:10 -05:00
Donovan Glover
f279e165e1
kitty: Remove old open_url_modifiers option
This is no longer an option in recent versions of kitty.
2022-12-15 16:14:46 -05:00
Donovan Glover
57f11b6223
kitty: Remove background options
Realistically won't be using custom backgrounds with kitty due to the
complexity involved in changing them among other things. Setting the
background opacity and letting the desktop environment manage the
background instead is more convenient.
2022-12-15 16:13:41 -05:00
Donovan Glover
ead9480ef4
kitty: Switch to Hack Nerd font
This lets us use folder icons among other things in the terminal.
2022-12-15 16:10:54 -05:00
Donovan Glover
60c2561fec
fish: Show tasks when opening a new terminal
Note that in the future I may simply use something else instead.
2022-12-15 16:10:20 -05:00
Donovan Glover
7eb4952e3e
meta: Add elementary kitty diff support
Having image diffs in the terminal is very cool, however I ultimately
decided against using kitty's diff feature due to using the existing
colors of the shell being non-trivial.
2022-12-15 16:08:45 -05:00
Donovan Glover
a358f5fe56
starship: Add date and time
This makes it easier to keep track of what date and time it is when
using kitty in fullscreen mode.
2022-12-15 11:45:11 -05:00
Donovan Glover
eec27882da
vim: Allow saving in directories that don't exist
Now those directories will be automatically created as needed.
2022-12-15 11:41:49 -05:00
Donovan Glover
5158c66c28
paru: Use BottomUp strategy
This makes it easier to see the most relevant results first without
having to scroll up, assuming there are enough results where scrolling
up was necessary.
2022-12-15 11:36:10 -05:00
Donovan Glover
96f687abd0
kitty: Show window decorations on GNOME
Thanks to an extension called pixel-saver, it's possible to take
advantage of window decorations in GNOME and maximize screen estate
at the same time.
2022-12-15 11:33:51 -05:00
Donovan Glover
90d230885d
dunst: Increase icon size
This made mpd notifications look great at the expense of all
notifications having large icons.
2022-12-15 11:31:56 -05:00
Donovan Glover
7fab3e4707
dunst: Use transparency option
This made dunst notifications look slightly nicer.
2022-12-15 11:30:51 -05:00
Donovan Glover
6e3a3fd1eb
bspwm: Add crossfade effect with mpc
As far as I know, this setting cannot be set through a configuration
file, so setting it at startup was necessary.
2022-12-15 11:21:56 -05:00
Donovan Glover
0e158e36b2
bspwm: Start tint2 in bspwmrc
This added a toggleable bar similar to polybar, except this time it
showed the open applications at the bottom. I eventually switched to
GNOME, which is able to achieve this and much more with dash-to-panel,
an extension that has been steadily improving over the years.
2022-12-15 11:19:50 -05:00
Donovan Glover
d548dd0c3b
dunst: Increase width of notifications
Since I use GNOME now, dunst isn't needed, although I feel like the
dunst notifications looked cooler than the GNOME ones since they also
followed the color scheme of the environment.
2022-12-15 11:16:50 -05:00
Donovan Glover
3a2dc47362
feh: Remove save image key
I never used this key and I don't think I ever will. feh is a great
image viewer that's simple, fast, and anti-aliases things properly,
although I believe there's a high probability that another image viewer
is out there that nails all the boxes and then some.
2022-12-15 11:09:45 -05:00
Donovan Glover
43507caee1
picom: Add dual_kawase blur
I personally found this to be a stunning blur that I would love to use
in GNOME, however I am okay with using GNOME without it due to the many
benefits GNOME provides.
2022-12-15 11:09:09 -05:00
Donovan Glover
6a850cafb9
bspwm: Add ksuperkey
Although it was cute that I was the only one that knew how to use my
computer, standard keybinds is a pretty neat thing to have. This was
another change I programmed before deciding to use GNOME instead.
2022-12-15 11:06:24 -05:00
Donovan Glover
9062ef8e9a
mpv: Use tmp directory for total playtime
The /tmp/ directory is quite useful.
2022-12-15 11:04:06 -05:00
Donovan Glover
cc59ab4c58
bspwm: Fix tint2 showing above fullscreen programs
Although I am glad I eventually found a fix for this, it's much easier
to simply use GNOME with extensions and not have to worry about hacks
like these. If by chance such GNOME extensions are as hacky as the
solution in this commit, I'd argue that the convenience of those hacks
being abstracted away from the user outweighs fixing things manually.
2022-12-15 11:01:53 -05:00
Donovan Glover
4f5a891280
rofi: Make launch.sh a toggle script
This lets us set the super key to launch.sh, which handles both opening
rofi and closing it if it's already open.
2022-12-15 10:57:50 -05:00
Donovan Glover
ff4eddace5
bspwm: Increase desktop count
Instead of restricting myself to 4 desktops, I eventually decided on a
setup where desktops would be dynamically created as applications were
opened. I then realized what I was doing was replicating the GNOME
desktop environment in a much less efficient way, and eventually
switched from bspwm to GNOME.
2022-12-15 10:54:10 -05:00
Donovan Glover
7de7763817
bspwm: Start picom with experimental-backends
Note that this is no longer needed; this commit only exists to
document when it was needed in the past.
2022-12-15 10:53:41 -05:00
Donovan Glover
6e8d4a543e
sxhkd: Halve gaps differential
This change simply made it easier to fine-tune gaps in a more precise
way, although admittedly I am not interested in this as much as I used
to be.
2022-12-15 09:58:05 -05:00
Donovan Glover
208de5adea
sxhkd: Add keybind to reload libinput-gestures
At some point I added libinput-gestures to my setup to replicate the
touchpad gestures I loved so much on GNOME. Although this was cute, such
gestures lacked the animations from GNOME and would even stop working
entirely from time to time. It is for this reason that I created a keybind
specifically to reload libinput-gestures.
2022-12-15 09:52:45 -05:00
Donovan Glover
db8ef8646d
wal: Restart tint2 with new color scheme
For history's sake, I'm including how I changed the color scheme of
tint2 with wal. Note that I don't use tint2 anymore since I realized
that what I was trying to do with tint2 can already be achieved much
easier and much more polished with GNOME extensions.
2022-12-15 09:48:49 -05:00
Donovan Glover
924e3fe2ee
chromium: Remove https everywhere
This extension is no longer needed since it is now possible to achieve
https everywhere with a setting in chromium.
2022-12-15 09:44:29 -05:00
Donovan Glover
c42529c640
picom: Make tint2 and thunar translucent
These are old changes I made while I was still using bspwm. Although
bspwm is an amazing window manager, I feel like the simplicity of GNOME,
as well as how customizable it can be, negates any potential benefits
one can achieve with bspwm and its vast configuration possibilities.

As one example, alttab is a cool piece of software that brings the
concept of alt-tabbing to window managers like bspwm, however, GNOME is
already capable of doing this and does so in a more elegant way, showing
views of the windows you're alt-tabbing between.
2022-12-15 09:42:14 -05:00
Donovan Glover
503c7c95ae
neofetch: Remove block range
This is no longer needed after switching to pywal_16.
2022-12-15 09:34:13 -05:00
Donovan Glover
77d9e7f3fc
Revert "meta: Remove rofi"
Some programs expect rofi to be installed. Although dmenu is nice, rofi
is more customizable and has the potential to look nicer overall.
2022-11-11 15:12:16 -05:00
Donovan Glover
ba0ad5b142
sxhkd: Add ability to dynamically adjust gaps/borders
This lets us use bspwm and occasionally make it look completely
different without having to worry about manually typing things out in a
terminal.
2022-11-03 11:45:52 -04:00
Donovan Glover
d41321b427
sxhkd: Remove clipboard to browser
Although this was cute and allowed us to open links in any browser from
anywhere on the computer, in practice this "ability" wasn't that useful.
In the event that looking up words is needed, it's easier to open or
switch to qutebrowser and use its search feature instead of trying to
remember which keybinding is which.

One solution for the future would be to synchronize qutebrowser search
engines with a rofi/dmenu-like selection screen, which would solve the
problem of not remembering which keybind is which. Frequently used
search engines would be higher on the list and would require less or no
typing beyond <CR> after the initial prompt.
2022-11-03 11:37:39 -04:00
Donovan Glover
0a087452a1
vim: Add vim-devicons
Now it's easier to take a glance at NERDTree and see the different kinds
of files in a directory.
2022-11-03 11:28:43 -04:00
Donovan Glover
143dab4c27
fish: Add ranger abbreviation
This makes using ranger much more convenient.
2022-11-02 21:03:51 -04:00
Donovan Glover
e32645caf8
vim: Disable middle button click
This helps prevent accidentally pasting things.
2022-11-02 21:02:29 -04:00
Donovan Glover
0406de2ad6
feh: Remove delete keybind
This helps prevent accidents. In the event that we need to delete
images, ranger with image previews should work equally well.
2022-11-02 18:48:22 -04:00
Donovan Glover
128d3180cc
gtk: Disable recent files
This prevents nautilus from showing a recent files section in the file
browser.
2022-11-02 18:45:23 -04:00
Donovan Glover
e1da315eaa
starship: Make battery more noticeable
This makes it easier to predict how much time we have left before the
battery runs out when developing without a charger.
2022-11-02 18:41:44 -04:00
Donovan Glover
b366e2445b
fish: Use single instance for ranger kitty terminals
This should slightly improve performance when an existing kitty instance
is already available.
2022-11-02 18:40:03 -04:00
Donovan Glover
4916f47a77
bspwm: Remove borderless/gapless monocle
Since we often use non-monocle layouts without borders or gaps, having a
separate borderless/gapless monocle mode was often confusing since we
didn't know which layout we were in. When using a status indicator with
bars like polybar, knowing the current layout required a separate script
and was overall hacky, with its state not being updated until certain
bspc events occurred.
2022-11-02 18:31:30 -04:00
Donovan Glover
b46cda8cfd
meta: Change default browser from librewolf to qutebrowser
Browsers were always a pain point for me due to the manual intervention
they often required to get extensions configured properly across
separate user profiles. qutebrowser has improved significantly since the
last time I tried it (around 2017) and supports modern browsing due to
its usage of Chromium 102 with QtWebEngine 6.4.0.
2022-11-02 18:27:50 -04:00
Donovan Glover
68d1cbb9fe
meta: Remove rofi
rofi was cute, however I no longer have a desire to run an external
interface for simply starting programs. This can be achieved in many
different ways through a shell, and without the disadvantages (such as
having all items listed by default) that rofi came with.
2022-10-26 10:40:22 -04:00
Donovan Glover
3728607f28
rofi: Show current focused desktop
This was cute, however knowing which desktop we're on may be irrelevant
in a future workspace implementation. Adding this information to the
fish prompt with starship may also be an option.
2022-10-25 22:13:37 -04:00
Donovan Glover
d2883d0cb9
rofi: Show window on focused monitor
This makes rofi work nicely with multi-monitor setups, however I was
planning to remove rofi since I can do everything that rofi can do with
a simple shell, and without having to worry about its inconveniences,
such as unreadable default wal color themes.
2022-10-25 22:08:47 -04:00
Donovan Glover
ded1649cea
meta: Use alttab
alttab <https://github.com/sagb/alttab> is a cool alternative to the
more traditional ways of managing windows in bspwm that lets us focus on
the currently open windows instead of which desktop they're on.
2022-10-25 14:05:07 -04:00
Donovan Glover
83ee31d1a5
sxhkd: Add desktop bouncing functionality
Note that I originally used this as a test to see how useful it would
be, however I quickly realized that having unpredictable desktop states
is not ideal, especially when not using a status bar like polybar.

The code was shared as a solution to a post on r/bspwm. Credits to the
original author, however I plan to ditch this solution for more
predictable desktop management.
2022-10-25 13:59:56 -04:00
Donovan Glover
69be5bcc2b
bspwm: Add authentication agent
I don't remember exactly why I needed this, however it should be useful
for certain programs that require it.
2022-10-25 13:30:16 -04:00
Donovan Glover
d7a940a4d0
bspwm: Remove polybar execution
This is no longer needed since we no longer use polybar.
2022-10-25 12:42:47 -04:00
Donovan Glover
45ae547379
meta: Remove polybar
It turns out polybar was bloat and I don't actually need one, at least
that's my current thought process. In particular the advantage of
fullscreen windows without having to worry about whether polybar is
visible or not should outweigh when I temporarily show the bar with a
keybind.

Note that while I was exploring taking advantage of bspwm's monocle
layout more, I went through a point where borders would only be visible
when multiple windows were present, which required me to use the single
monocle config variable and implement the solution proposed in the
GitHub issue below:

https://github.com/polybar/polybar/issues/1880#issuecomment-674518936
2022-10-25 12:32:48 -04:00
Donovan Glover
7b3ac9d5df
meta: Add thunar
I used thunar for a while and it was a great experience with few
exceptions, however I will likely remove it in favor of a more command
line-based experience. Using thunar was a valuable learning exercise and
it helped me understand more about what file browsers actually do, and I
realized that I can replicate this experience fairly trivially while
giving me the benefits of my existing configuration.
2022-10-25 11:34:03 -04:00
Donovan Glover
620c1ac7c8
bspwm: Don't float mpv by default
This makes it easier to manage mpv windows like all other windows, which
lets us take advantage of watching 16:9 videos with mpv tiled while
working on other things.
2022-10-24 17:09:37 -04:00
Donovan Glover
5b9b59073d
sxhkd: Use pamixer instead of pactl
This prevents us from setting the volume above 100%.
2022-10-24 17:07:33 -04:00
Donovan Glover
c816942ec3
git: Change editor from vim to neovim
Neovim has some nice additions like honoring the blinking cursor from
kitty when in insert mode. I don't remember why I used vim instead of
neovim here, but neovim is mature enough that it should be an excellent
choice to use for many years to come.
2022-10-24 17:05:10 -04:00
Donovan Glover
ef3f21ecfd
gtk: Use flat color theme and icons
I originally made this change to take advantage of wpgtk, and although I
was successful and wpgtk was a cool experience, I am not that interested
in updating all my config files to use wpgtk instead of wal.

Since this was mainly useful for thunar and nautilus, and since I'm
considering using ranger only and writing my own scripts for additional
functionality, I may change this to a simpler theme in the future.
2022-10-24 17:03:02 -04:00
Donovan Glover
f615fbc4d0
bspwm: Increase pointer_motion_interval
In the theoretical scenario that I use bspwm on a high refresh rate
monitor, this change makes it so resizing windows won't be limited to
60Hz.
2022-10-24 12:30:14 -04:00
Donovan Glover
3321d30827
polybar: Decrease height
This makes polybar less obtrusive, however I've been considering
removing it in the long-term to maximize screen estate. Although polybar
is cute, I don't *need* to know everything in the bar every second I use
the computer. Having specialized commands or keybinds that show certain
information seems more useful in this case.

Some information, such as the date and time, could become a part of the
wallpaper itself, making blank desktops more useful than they are now.
Although widgets are also an option, I have not verified how well these
work under my current setup yet.
2022-10-24 12:25:03 -04:00
Donovan Glover
64029e3c5b
vim: Open Shift JIS files with proper encoding
This makes dealing with certain Japanese files significantly easier
since we no longer have to worry about manually performing a Shift JIS
to UTF-8 conversion before opening the file in vim, nor do we have to
worry about manually changing the encoding with :e ++enc=sjis.
2022-10-24 11:48:22 -04:00
Donovan Glover
5437f3237e
vim: Don't show spelling errors for CJK characters
This makes dealing with CJK files inside vim a much more pleasant
experience. Note that automatically handling Shift JIS encoded files is
something I haven't implemented yet, although a simple keybind could
make things more manageable.
2022-10-24 11:18:20 -04:00
Donovan Glover
a449ddfbec
fish: Export TERMCMD="kitty"
This change makes ranger open new terminal instances with kitty instead
of xterm.
2022-10-24 11:14:11 -04:00
Donovan Glover
02123d0bc4
fish: Add taskwarrior abbreviations
After many years of searching for an optimal task management workflow,
it seems like taskwarrior is the most ideal solution for me.
2022-10-23 21:38:46 -04:00
Donovan Glover
5f056f9f2e
bspwm: Use left/up/right/down desktops
This was an experiment to see if I could make switching between desktops
easier. Instead of thinking about desktops in terms of their contents or
numbers, we can think about them in terms of gestures used to reveal
them.

The main advantage to this setup is that you can access any of the other
desktops with one keystroke. This is in contrast to having to press
super+tab twice. The other advantage is that the desktops are always at
a predictable location. One swipe to the right will always get you the
desktop on the right, whereas two super+tabs can land on any desktop.
2022-10-23 21:00:54 -04:00
Donovan Glover
1cde245d11
picom: Fix flickering screen after resume from dpms
This appears to fix an issue where the screen would occasionally flicker
after resuming from dpms' screen blanking feature. So far I have not
observed any significant performance degradations.

Reference: https://github.com/yshui/picom/issues/578
2022-09-28 13:32:07 -04:00
Donovan Glover
5e75e08f46
Makefile: Decrease stow verbosity to 1
A verbosity level of 2 was cool during testing, but now that the
Makefile has been stable for years at this point, having all that
verbosity seems unnecessary. This change still shows when things are
stowed, but with less detail than before.
2022-09-28 12:58:48 -04:00
Donovan Glover
433d335c36
meta: Remove keystrings
As far as I can tell, dual-function-keys also works in a tty, so
keystrings is no longer necessary, and you don't have to worry about
making sure that loadkeys is ran either.
2022-09-28 12:55:24 -04:00
Donovan Glover
19efc3f94c
meta: Remove xcape and xmodmap
These are obsolete technologies that are no longer needed thanks to
dual-function-keys, which I'll add in a future commit. This also fixes
an issue where left control would behave like an escape key when tapped,
which caused a lot of accidental escapes.
2022-09-28 12:54:52 -04:00
Donovan Glover
323bf99af5
kitty: Disable audio bell
Now it's possible to use the terminal in peace, and with the volume set
to a cool amount, without worrying about audio bells when scrolling
through man pages.
2022-09-28 11:43:25 -04:00
Donovan Glover
1023dc4d2f
meta: Replace firefox with librewolf
I am personally not amused by some of the defaults that firefox ships
with and would rather not have to deal with them on new configurations.
Although it's possible to sync settings across devices or simply copy
the profile directory, the advantages of librewolf outweigh the cons for
my individual use case, at least for now.
2022-09-28 11:40:49 -04:00
Donovan Glover
188217ce46
sxhkd: Control mpv with mpris + playerctl
I personally love this setup for language learning and it emphasizes how
far one can go with customizing their setup when using a window manager
like bspwm + sxhkd. Although it's possible to achieve the same effect in
other desktop environments, sxhkdrc makes adding new keybinds extremely
simple and easy to maintain.
2022-09-28 11:29:06 -04:00
Donovan Glover
4fb088585d
bspwm: Remove old bspc rules
I no longer use these KDE applications, so having them as bspc rules is
unnecessary.
2022-09-28 11:24:13 -04:00
Donovan Glover
9259386f75
gitattributes: Add mpv scripts to vendored list
This prevents the language statistics from showing up incorrectly.
2022-08-01 12:39:13 -04:00
Donovan Glover
0d5eb9e3d1
Makefile: Remove enable-mpd
This is no longer needed since we no longer use mpd.
2022-08-01 12:29:31 -04:00
Donovan Glover
8f643378dd
fish: Add ex function
This is the command I use to easily extract files with unar, which
automatically handles different character encodings.
2022-07-30 10:40:53 -04:00
Donovan Glover
ad28ef8dcf
fish: Add wav2flac
This used to be a separate script in my ~/.local/bin, however the script
is short enough that it doesn't need to be a separate file, and I don't
use it outside of the shell anyway.
2022-07-30 10:35:00 -04:00
Donovan Glover
bd83212581
sxhkd: Add clipboard to browser
This makes it easy to search for text without having to worry about
browser extensions or even being in the browser itself.
2022-07-30 10:21:08 -04:00
Donovan Glover
5a3b02add8
sxhkd: Add option to save selection screenshots 2022-07-30 08:50:48 -04:00
Donovan Glover
233cb01510
mpv: Disable the default osc
Now the thumbnail osc will be used instead.
2022-07-30 08:37:18 -04:00
Donovan Glover
4f74b1fb48
mpv: Add mpv_thumbnail_script
This is version 0.4.9 and should work out of the box without any
modifications. Note that the mpv config must be edited to support
this script, which I'll add in the next commit.
2022-07-30 08:32:04 -04:00
Donovan Glover
c050cede4a
fish: Add abbreviation for japanese locale 2022-07-30 08:24:45 -04:00
Donovan Glover
89361ae0af
fish: Add abbreviation for ansible-playbook
Note that right now abbreviations are only added once to improve startup
time, although the difference may be negligible on modern hardware.
2022-07-30 08:15:06 -04:00
Donovan Glover
3a189b31f6
sxhkd: Prioritize color scheme over background
In the future it may be nice to automatically add a selection of
backgrounds that can be rotated through, or support getting those
images from an external source.
2022-07-30 08:02:18 -04:00
Donovan Glover
9bc5d45278
mpv: Automatically make playlists from directories
This makes it easier to play a series of files without worrying about
starting mpv with those specific files.
2022-07-30 07:50:47 -04:00
Donovan Glover
1de898c54b
mpv: Add total_playtime.lua
Currently this script works by getting the total play time of the
playlist when pressing F12. Time will tell if I decide to improve upon
it later, although it already does a good job at what it's supposed to
do.
2022-07-30 07:42:08 -04:00
Donovan Glover
d23080a789
mpv: Don't use titles from file metadata
This fixes an issue where some files would have incorrect metadata,
although it may be more useful to overwrite the metadata on those files
instead.
2022-07-30 01:18:03 -04:00
Donovan Glover
e1cd81f9b4
vim: Add Caddyfile support 2022-07-30 01:04:28 -04:00
Donovan Glover
f223c6c2f6
fish: Add du abbreviation 2022-07-30 00:33:25 -04:00
Donovan Glover
2fa0d928ef
fish: Add vagrant abbreviations 2022-07-30 00:32:46 -04:00
Donovan Glover
a06b1d06cb
fish: Replace youtube-dl with yt-dlp 2022-07-30 00:30:37 -04:00
Donovan Glover
6db6521e7c
fish: Add docker abbreviations 2022-07-29 21:08:21 -04:00
Donovan Glover
ae900bda97
meta: Replace ripgrep config with alias
Stowing an entire config directory for one line was too funny to not
change, so I converted it to an alias instead.
2022-07-29 17:56:38 -04:00
Donovan Glover
917e50c37f
meta: Replace httpie config with fish functions
This simplifies our dotfiles a bit since we no longer need to worry
about stowing a separate httpie config.
2022-07-29 17:18:12 -04:00
Donovan Glover
9fe88d0039
meta: Remove alacritty
Although alacritty is an amazing terminal emulator, I am not interested
in maintaining configuration files for it at this time.

The current config works and is an excellent replica of the current
kitty config. If you have a desire to use alacritty, you can use the
files in this commit to get amazing support for things like pywal.

The reason alacritty is being removed is because it doesn't fully
support fcitx. Currently "inline input" doesn't work in Xorg, and it's
impossible to see input under GNOME Wayland.

For simplicity, only the terminal emulator that works the best for me
will be officially supported, since I've never had a reason to use
alacritty anyway.

Source: https://github.com/alacritty/alacritty/issues/1613
2022-07-29 15:44:01 -04:00
Donovan Glover
79f38a0ed0
alacritty: Make cursor shape beam by default
Now alacritty functions similar to kitty when showing the cursor, so
much so that they're nearly identical.
2022-07-29 15:11:34 -04:00
Donovan Glover
ec24d1cc71
docs: Update README
This is a huge README update that is unfortunately WIP. I'll eventually
finish it, but for now I'm committing what's currently done.
2022-07-29 14:14:17 -04:00
Donovan Glover
7078dcbe67
fish: Add utf16 conversion support
Similar to the previous commit, this makes dealing with files from Japan
easier.
2022-07-29 13:30:18 -04:00
Donovan Glover
6aae63d66f
fish: Add shift_jis conversion support
A lot of files from Japan are encoded in the shift_jis character
encoding. This abbreviation makes it easy to change those files to utf8.
2022-07-29 13:27:44 -04:00
Donovan Glover
bb3e448fa6
mpv: Add autoload.conf
This config is used for automatically making playlists based on the
current files in a directory.
2022-07-29 13:20:55 -04:00
Donovan Glover
19c8624061
picom: Exclude polybar from fading in
This likely fixes an issue I had earlier, although I don't remember what
it was. In any case, this change is a positive one since toggling the
bar is now instantaneous as well.
2022-07-29 13:08:41 -04:00
Donovan Glover
768f54ac8e
bspwm: Start mullvad notifications
Although mullvad has an auto-start option, notifications won't be
displayed until the application is explicitly started at least once.
2022-07-29 13:06:18 -04:00
Donovan Glover
7c46e40399
picom: Make some applications translucent
This is purely for visuals and makes using the environment slightly
cooler.
2022-07-29 12:57:44 -04:00
Donovan Glover
42ffa37ace
fcitx: Add unicode settings
The purpose of this commit is to remove any possible keybinds for
unicode-related things in fcitx.
2022-07-29 12:31:01 -04:00
Donovan Glover
d116679385
picom: Increase fade out step
Truthfully I don't remember why I did this, however I am probably used
to it now and I must have did it for a reason, which is why this commit
exists.
2022-07-29 11:53:27 -04:00
Donovan Glover
bd4ea96bec
alacritty: Fix formatting
A quick and easy fix for a small formatting issue.
2022-07-29 11:52:13 -04:00
Donovan Glover
9e3416070d
zathura: Don't recolor documents by default
Although recoloring documents is great for rice screenshots, most of the
time we want to see a pdf in its original form before deciding to
recolor it. Most of the time recolors occur when a "dark mode" is
necessary, which zathura does a good job with.
2022-07-29 11:48:08 -04:00
Donovan Glover
4a2d8ad1e6
picom: Halve shadow opacity
Decreasing the shadow opacity here makes it less noticeable when dealing
with side-by-side windows.
2022-07-29 11:40:15 -04:00
Donovan Glover
d2caea6684
neofetch: Simplify cpu output
This fixes an issue where the neofetch cpu output would be too long for
a typical 1920x1080 display, with one terminal occupying 50% of the
screen.
2022-07-29 11:37:09 -04:00
Donovan Glover
93e55359ed
bspwm: Only disable power saving on virtual machines
Now physical machines still get power saving, and virtual machines don't
since power saving is automatically handled by the host.
2022-07-29 11:06:39 -04:00
Donovan Glover
750fb7a2ba
vim(ale): Fix linting with standardjs
Previously ale would show an error message when dealing with JavaScript
files without an .eslintrc. That has now been fixed and standardjs works
as intended.
2022-07-29 10:38:32 -04:00
Donovan Glover
c887d1823d
vim: Update ale location 2022-07-29 10:34:55 -04:00
Donovan Glover
ebc3d2440e
vim: Remove vim-toml
As of Neovim 0.6 and Vim 8.2.3519, vim-toml is now included in the
vanilla software, so using this plugin is no longer necessary.
2022-07-29 09:56:16 -04:00
Donovan Glover
49579a2ab2
picom: Remove shadow from polybar
As far as I remember, this change was done to improve the appearance of
polybar with lower opacity as a visual effect instead.
2022-07-29 06:05:08 -04:00
Donovan Glover
b64845ebe2
fcitx: Add clipboard settings
This shouldn't do much besides prevent fcitx from assigning a keyboard
shortcut for the clipboard.
2022-07-29 06:02:25 -04:00
Donovan Glover
991185c2ce
bspwm: Make xsecurelock compatible with picom
This fixes an issue where an "incompatible compositor" message would
display previously.
2022-07-29 05:59:32 -04:00
Donovan Glover
c09cada5e2
archlinux: Remove gnome config
This is no longer needed since I plan to focus fully on bspwm instead.
Note that I may still use GNOME on multi-monitor setups and other
devices where having the convenience of bspwm and sxhkd isn't necessary.
2022-07-29 04:54:20 -04:00
Donovan Glover
3185a27739
sxhkd: Replace alt keybinds with super
This prevents us from having keybinds that conflict with other keybinds.
2022-07-29 04:30:49 -04:00
Donovan Glover
8be958c051
meta: Remove waybar
Since I've decided to ditch sway, I no longer have to deal with waybar
either, which is nice. Although waybar is nice-looking, there isn't much
of a difference between it and polybar in day-to-day usage, and other
factors such as ease of maintenance are far more important.
2022-07-29 03:55:31 -04:00
Donovan Glover
e35c497013
meta: Remove sway
Although using a Wayland window manager was cute, Sway always felt like
a gimped version of bspwm to me. This is likely due to many of the bspwm
features I use, as well as certain X applications not working well under
Wayland (such as feh).

I am also not interested in maintaining the config for Sway, and prefer
bspwm's approach where it's configured through bspc and shell scripting.

In summary, "after all these years", Sway is still more trouble than
it's worth for me personally, and I'd rather invest that time focusing
on my existing bspwm setup, which has always been pleasant to use.
2022-07-29 03:51:29 -04:00
Donovan Glover
c68102a825
sway: Add screenshot keybind
At some point I added this but never committed it. Might as well do
that now before I remove sway entirely.
2022-07-29 03:25:34 -04:00
Donovan Glover
3ad971ebaa
meta: Remove swayidle + swaylock
This was cute, but I personally don't want to deal with the
inconvenience of debugging C code and using a fork for improved
functionality.
2022-07-29 03:00:47 -04:00
Donovan Glover
433e15ba0c
sway: Use super instead of alt for keybinds
Similar to bspwm, all keybinds are now handled with super to avoid
conflicts with other applications. In the future it may be useful to
replicate the rest of the bspwm environment under sway.
2022-07-29 02:00:59 -04:00
Donovan Glover
bfe979d702
meta: Remove code
I've been trying to like vscode for years, especially since it was
widely regarded as one of the best editors of all time. As cool as VS
Code is, however, I always ended up using neovim and a terminal since
it's simply easier for me to get things done that way.
2022-07-29 01:14:47 -04:00
Donovan Glover
51c65432b3
meta: Remove mpd
Although using mpd was a cute experience, I am not interested in
maintaining mpd on my systems anymore since navidrome does the job just
as well and has more useful features.
2022-07-29 00:55:42 -04:00
Donovan Glover
42e3ebbe73
meta: Remove ncmpcpp
Although using ncmpcpp was an interesting experience, I now value the
convenience of software like navidrome more than the minimalist traits
of ncmpcpp. Realistically I should never encounter a time where
listening to music within a terminal interface is mandatory, and simply
using a web interface with optional apps drastically simplifies things.
2022-07-29 00:37:46 -04:00
Donovan Glover
56c42a5b9d
meta: Remove lunarvim
9 months later and I am no longer interested in maintaining lunarvim. My
current neovim config does everything that I need it to do and I don't
see myself using anything else anytime soon.
2022-07-28 15:54:14 -04:00
Donovan Glover
e2ffc9830f
sxhkd: Only switch between active desktops 2022-07-28 15:25:25 -04:00
Donovan Glover
b0d63997db
fish: Alias mv to mv -i
This is for peace of mind so we avoid accidentally moving something
where something already exists.
2022-07-28 10:57:16 -04:00
Donovan Glover
6c84ba914c
bspwm: Set the keyboard to maximum brightness on init
This fixes the issue of having to manually increase brightness on boot.
2022-07-28 10:55:59 -04:00
Donovan Glover
54edb4b045
polybar: Remove cpu and ram from bar
I am not performing tasks that require constant knowledge of the CPU and
RAM being used, and if I am, I can use a tool like htop instead, which
would avoid the distraction of the bar numbers constantly changing.
2022-07-28 10:53:17 -04:00
Donovan Glover
80a2ec3fe3
fcitx: Use Super+[ to switch inputs
This fixes an issue where the previous keybinds would conflict with
other applications, and reinforces the idea that all system-wide
keybinds use Super.
2022-07-28 10:50:52 -04:00
Donovan Glover
6e963bbcf1
fcitx: Remove Group 2 from profile
This wasn't actually used for anything, so removing it simplifies things
a bit.
2022-07-28 10:46:49 -04:00
Donovan Glover
424844f6f7
fcitx: Use default theme
This makes it easier to use fcitx across any color scheme.
2022-07-28 10:45:57 -04:00
Donovan Glover
c2d8ec78cc
meta: Add fcitx
I've used fcitx for a while but never committed my actual config for it.
Note that this config is relatively old, and I'll be updating it with a
new commit to make seeing the changes easier relatively soon.
2022-07-28 10:40:59 -04:00
Donovan Glover
79374ba060
mpv: Find subtitles in subdirectories
This is just a convenience feature if, for example, the subtitles aren't
part of the video file itself.
2022-07-28 10:09:05 -04:00
Donovan Glover
aeb87d3026
bspwm: Use the previous color scheme if present
This makes it possible to keep a preferred color scheme across boots.
2022-07-28 05:19:42 -04:00
Donovan Glover
7178f19424
sxhkd: Show notifications when changing brightness
Now it's possible to see exactly how much brightness the display has.
2022-07-28 03:51:41 -04:00
Donovan Glover
b81a91e39f
meta: Remove gnome
Having gnome settings was cute, but realistically the desktop
environment should automatically choose the best settings for the target
computer. Manually change anti-aliasing goes against the idea of wanting
the stock GNOME experience.
2022-07-28 03:45:23 -04:00
Donovan Glover
d2eb6b702d
gnome: Remove extensions
This was cute, but it's easier to maintain GNOME by simply using stock
instead of using a bunch of extensions.
2022-07-28 03:40:28 -04:00
Donovan Glover
a7115582bd
gnome: Remove GTK and cursor theme settings
I don't use these anymore in my main environment and am probably not
interested enough in GNOME to customize it manually anymore. As of now,
I'd rather stay in my comfortable bspwm environment since it's there
that "everything just works".
2022-07-28 03:38:56 -04:00
Donovan Glover
273a803a2b
sxhkd: Use Super+Shift+P to screenshot selections
This is part of the process of changing all keybinds to use Super to
avoid conflicts with other programs.
2022-07-28 03:30:43 -04:00
Donovan Glover
b0e3fbc1e8
sway: Use single kitty instance
Note that maintaining both sway and bspwm is inconvenient, so I may
eventually cut one of them for ease of living.
2022-07-28 03:25:21 -04:00
Donovan Glover
e590a26569
mpv: Extend the default keybinds
At some point I removed the default keybinds. A lot of them are useful,
however, so keeping the existing ones makes sense.
2022-07-28 03:22:05 -04:00
Donovan Glover
c0141aa4e5
meta: Remove yt-dl
This is no longer needed since yt-dlp chooses the best formats
automatically, which I've been using for a while now.
2022-07-28 03:18:49 -04:00
Donovan Glover
6cef680d42
starship: Expand abbreviations
This makes things slightly more formal.
2022-07-28 03:14:31 -04:00
Donovan Glover
3a0c69be75
meta: Remove kdeglobals
Since I no longer use KDE applications anymore, and since I no longer
set XDG_CURRENT_DESKTOP equal to KDE, this doesn't do anything
noticeable to the working environment.
2022-07-28 03:13:54 -04:00
Donovan Glover
d4f214f5fb
meta: Set the browser at the window manager level
This fixes an issue where the specified browser wouldn't be used when
dealing with a non-shell environment.
2022-07-28 03:00:49 -04:00
Donovan Glover
5ed54c3ec9
fish: Add go support
Note that the GOPATH is also a hidden directory now.
2022-07-28 02:59:08 -04:00
Donovan Glover
3c93bc4bab
meta: Remove remaining fedora scripts
Like most things in life, it's time to move on from maintaining
Fedora-specific scripts. Although I like using Fedora when given a
random machine, my setup is much easier to reproduce on Arch Linux.

For most users, they may not even need a desktop operating system like
Fedora in the first place since mobile devices are typically more
secure, easier to carry around, and can do most if not everything that a
desktop can, especially in the year 2022.
2022-07-28 01:44:46 -04:00
Donovan Glover
adc372a0a2
xmodmap: Use print screen as a right super
I've always felt disadvantaged by not having a right super on laptop
keyboards. This fixes that.
2022-07-28 01:29:38 -04:00
Donovan Glover
3005a7ce51
archlinux: Remove install scripts
Although writing my own install scripts was a valuable learning
experience, Arch Linux now has an official archinstall utility, which
should be easier to use than having to edit a bash script.
2022-06-11 16:56:43 -04:00
Donovan Glover
f5fcf8962d
fedora: Remove rpm package
Although learning about package management for rpm-based distributions
was a fun experience, it's not realistic to maintain long-term. In this
case, it may be easier to simply install packages on a case-by-case
basis, making use of Ansible for anything else.
2022-06-11 16:09:45 -04:00
Donovan Glover
10b8f4f648
fedora: Remove vendor scripts
Instead of setting up a development environment directly on Fedora,
which comes at the cost of having to maintain both the Fedora-specific
implementation and the Arch implementation, it should be easier to
simply use Vagrant instead.
2022-06-11 15:37:25 -04:00
Donovan Glover
eca6f0b46c
editorconfig: Use standard formatting for go
go fmt uses tabs instead of spaces, so we might as well format our code
the same way.
2022-06-04 07:36:06 -04:00
Donovan Glover
4fdf375a17
git: Display unicode file names
This fixes an issue where Japanese and other non-English file names
would be escaped when using commands like git diff.

Reference: https://stackoverflow.com/questions/34549040/
2022-06-04 07:31:31 -04:00
Donovan Glover
8613af7d85
sxhkd: Change fn keys to super + F1-F12
This change has 3 main benefits:

1. We no longer have to worry about switching between the fn keys and
   F1-F12 keys, and can benefit from both keybinds at the same time.
2. Keys that don't return anything under xev (such as the chat icon and
   telephone icons) can now be customized.
3. We no longer have to worry about accidentally pressing the networking
   key that disables the internet connection.
2022-05-24 16:43:52 -04:00
Donovan Glover
c59984ac06
sxhkd: Add placeholders for fn keys
Note that instead of having to remember to switch between fn and non-fn
keys, especially when working with both at the same time, we can simply
map commands that would use those fn keys with super instead.

In this way, we no longer have to worry about the same keystroke performing
a different command. The current commit serves as an easy way to remember
what the existing fn keys were if needed.
2022-05-24 16:33:08 -04:00
Donovan Glover
9be6e9c11b
kitty: Make fcitx ui work under wayland
This fixes an issue where kitty wasn't able to show the ui of fcitx
under wayland. By forcing x11 specifically, kitty now has reasonably
good support for fcitx under wayland.
2022-04-12 14:33:13 -04:00
Donovan Glover
d654c999b8
waybar: Make text easier to read
This slightly increases the font weight of text without affecting the
font awesome icons, which is important since changing the font weight
of everything caused the firefox icon to become malformed.
2022-04-12 14:24:19 -04:00
Donovan Glover
163e8eb722
waybar: Use the same font awesome icons as polybar
This fixes an issue where the icons in sway would slightly differ from
those in polybar.
2022-04-12 14:23:19 -04:00
Donovan Glover
991880dc59
waybar: Switch to monospaced font
This lets us have consistent spacing across the icons without having to
worry about adding spaces manually.
2022-04-12 13:44:58 -04:00
Donovan Glover
3504314379
waybar: Use the same icons in sway as bspwm
This makes our setup more consistent across the two environments, useful
when switching between them. Note that sway is not a replacement for
bspwm due to how it handles fcitx input with kitty and how it has
built-in vsync.
2022-04-12 13:43:26 -04:00
Donovan Glover
4156c1fb23
sxhkd: Copy selections to clipboard by default
Since selections are more likely to be temporary than full screen
screenshots, copying their contents to clipboard by default is useful,
although in the future it may be more practical to create an image and
copy to clipboard at the same time, similar to other screenshotting
tools like ShareX.
2022-04-12 10:40:04 -04:00
Donovan Glover
671ce294c9
kitty: Use practical layout hierarchy
This makes it easy to switch layouts in kitty and usually get what we
want rather quickly, without having to worry about the current layout
being used.
2022-04-12 10:32:21 -04:00
Donovan Glover
dc3c752337
kitty: Enable dynamic background opacity
At some point I disabled this setting, possibly because of a bug or
other issue at the time, most likely related to my use of w3m or a
similar image preview script.

Now that I take advantage of all of kitty's features in 2022, especially
since it has proper fcitx support, there shouldn't be a reason to not
enable dynamic background opacity, as it seems to work flawlessly.
2022-04-12 10:20:59 -04:00
Donovan Glover
60ce281c8c
fish: Add wal completions
I wrote a script that generated wal completions 4 years ago. Although
the patch was never merged, pywal is a great tool and I can still use
the completions personally, so I might as well add them here.
2022-04-12 10:16:37 -04:00
Donovan Glover
0e58d7478d
fish: Add git clone abbreviation 2022-04-12 10:03:24 -04:00
Donovan Glover
80bfb36919
polybar: Don't hardcode monitor to display on
Now polybar will show on all monitors by default, and we don't have to
update the script every time those monitors change, useful when changing
between computers that use HDMI and computers that use display port, for
example.
2022-04-11 10:12:59 -04:00
Donovan Glover
cc9b8aed08
wal: Update kitty colors on theme change
Now we no longer have to worry about kitty having an inconsistent color
scheme when changing the color scheme of the rest of the environment,
which means that we can fully use kitty's window management and change
themes with pywal at the same time.
2022-04-11 09:45:46 -04:00
Donovan Glover
f01915654c
fish: Add fzf key bindings
This lets us do cool things like alt+c to easily cd into a directory
with fuzzy search.
2022-04-11 09:41:08 -04:00
Donovan Glover
762ff7bd15
bspwm: Use a more interesting desktop layout
Since I usually have a browser and terminal emulator open most of the
time, I have placed them back as desktop 1 and 2 by default. I'm used to
the file browser being in 3, and 4 serves as media, which is important
for language immersion in particular.

The other 6 icons are numbers for individuals that know how to read
other languages.
2022-04-11 09:35:29 -04:00
Donovan Glover
adad255285
polybar: Update cpu icon to new version
At some point the cpu icon stopped working, so this changes it to a new
version found in font awesome 6.
2022-04-11 09:22:25 -04:00
Donovan Glover
54b116c55b
kitty: Enable remote control with listen support
This enables us to automatically change kitty colors when changing pywal
color schemes, which means that kitty window management, such as its tab
feature, will honor the new colors of pywal automatically, without
having to restart kitty.
2022-04-11 09:20:39 -04:00
Donovan Glover
eb38cfcf1c
polybar: Add wifi module
This makes it easy to see the amount of data being uploaded or
downloaded at any given time.
2022-04-11 09:11:24 -04:00
Donovan Glover
37bdcdcf49
fish: Add abbreviation for df
Now we can get a useful version of df without having to remember the
options to use.
2022-04-11 09:07:02 -04:00
Donovan Glover
12542c66c8
sxhkd: Use a single instance for kitty
This makes kitty slightly faster when opening multiple windows, among
other things.
2022-04-11 09:04:32 -04:00
Donovan Glover
e2dc9ca3d1
misc: Fix link to yay 2022-04-11 08:56:28 -04:00
Donovan Glover
b40873a351
polybar: Use a distinct icon when fully charged
Now it's easier to tell when a laptop is at 100%.
2022-04-09 10:27:18 -04:00
Donovan Glover
7378a39730
rofi: Add filebrowser mode
The filebrowser in rofi is actually pretty fast, so it can serve as a
quicker keyboard-friendly replacement to nautilus.
2022-04-09 10:25:16 -04:00
Donovan Glover
9674210774
fish: Ignore lost+found with exa
This makes browsing the root of ext4 partitions nicer.
2022-04-09 09:44:25 -04:00
Donovan Glover
dc483d0f30
misc: Fix typo
Might as well fix these as I notice them.
2022-04-09 09:42:36 -04:00
Donovan Glover
cc7b166b85
sxhkd: Add notification when reloading sxhkd 2022-04-09 09:39:48 -04:00
Donovan Glover
ac6d609bf2
waybar: Add memory module
Note that this may be considered bloat but it's good for now. When
focusing it's easy to press ctrl+o to hide waybar anyway.
2022-03-25 10:00:36 -04:00
Donovan Glover
b699e2b784
meta: Add keystrings
This makes it easier to edit in a tty if we need to do so.
2022-03-25 09:59:17 -04:00
Donovan Glover
b9e7e0a8b1
gtk: Use a more custom theme choice
Instead of the usual GTK themes, we're going with something completely
different. The font has also been changed to reflect the one I use the
most.
2022-03-24 16:38:53 -04:00
Donovan Glover
df0456279a
waybar: Increase tray spacing
Now the icons look nicer next to the numbered workspaces.
2022-03-24 16:26:00 -04:00
Donovan Glover
e4c9f2eefb
waybar: Move tray to left side
Since the tray can have more than one icon, having it on the left makes
it easier to see the time in the top right.
2022-03-24 16:25:09 -04:00
Donovan Glover
89b9d9f5c6
meta: Add swaylock
Note that for now we're using random pictures and blurring them,
although in the future I may make this more specific.
2022-03-24 10:32:08 -04:00
Donovan Glover
eeeaa82bc5
meta: Add swayidle
This lets us automatically start swaylock on lid close, useful when on
the go, although not a replacement for turning off a computer fully.
2022-03-24 09:00:49 -04:00
Donovan Glover
9ae4f4442e
sway: Style GTK applications under Wayland
This fixes an issue where our settings.ini wasn't being applied on
Wayland.
2022-03-23 21:09:01 -04:00
Donovan Glover
e80a69c10b
waybar: Add muted indicator for volume
Now it's easier to tell when the volume is muted.
2022-03-23 21:04:33 -04:00
Donovan Glover
dc8bb8a493
meta: Add mozc
Note that this configuration file is specifically for mozc under ibus,
although fcitx(5) should be preferred in most cases due to its
compatibility.
2022-03-23 20:59:41 -04:00
Donovan Glover
51f303d09e
archlinux: Remove old yarn prefix
At some point I added this, although now yarn stores all global packages
in .yarn by default, so this isn't necessary.
2022-03-23 20:54:59 -04:00
Donovan Glover
f8d10629e5
mpd: Use pipewire as the audio output
Now that pipewire is more mainstream, we don't have to worry about using
alsa or pulseaudio here which, from what I remember, took more effort
to set up.
2022-03-22 11:14:38 -04:00
Donovan Glover
d45807e590
waybar: Add padding-right to tray
This fixes an issue where the tray icon would previous be at the edge of
the screen. So far, the tray is only used for fcitx.
2022-03-22 11:07:52 -04:00
Donovan Glover
daec189305
sway: Use dunst as the notification daemon
Since dunst now supports both xorg and wayland, we can use it in sway
as well.
2022-03-22 10:16:09 -04:00
Donovan Glover
345f06095e
waybar: Increase padding between workspace buttons
There was actually an issue where waybar was using larger padding than
usual, which was fixed by setting the gsettings in our sway config. I
liked the padding changes introduced by the other theme, however, so
this change makes it permanent.
2022-03-22 10:15:11 -04:00
Donovan Glover
b0b528f76b
meta: Remove XDG_CURRENT_DESKTOP=KDE
This was cool when we had KDE-specific applications, but since I'm
prioritizing ranger and nautilus now, dolphin isn't needed. Since I'm
focusing heavily on terminal and web-based applications, there is less
need to customize KDE applications specifically.

Two other advantages to this is that I no longer have to manually update
the colors in kdeglobals, and most if not all of the environment can be
programmatically set up with minimal effort.
2022-03-22 09:34:19 -04:00
Donovan Glover
e958c6ab5d
bspwm: Use mpv with xsecurelock
This lets us play videos in the background while the screen is locked on
Xorg, taking advantage of all our mpv settings as well.
2022-03-21 11:41:16 -04:00
Donovan Glover
f2596ba263
sway: Hide the cursor when inactive
Now sway behaves similarly to unclutter on bspwm/xorg, and we don't have
to worry about moving the cursor out of the way since it automatically
disappears.
2022-03-21 11:39:26 -04:00
Donovan Glover
d391f5335b
meta: Use kitty instead of ueberzug
Since ueberzug only works in X, and since ranger previews currently
conflict with tmux due to a new python version on arch linux, ueberzug
has no real advantage besides making image previews work in alacritty,
which I ultimately decided against due to how it handles fcitx input on
Xorg.
2022-03-20 22:18:50 -04:00
Donovan Glover
562d4fa225
polybar: Use pulseaudio instead of alsa
This fixes an issue where the volume would show incorrectly with
pipewire.
2022-03-20 17:41:37 -04:00
Donovan Glover
301deee996
sxhkd: Show notification when changing volume 2022-03-20 17:40:44 -04:00
Donovan Glover
b57db95cfd
kitty: Don't use spacing between windows
This looked nice in rice screenshots but isn't practical since it limits
the amount of text available on the screen at any given moment.
2022-03-19 17:01:57 -04:00
Donovan Glover
5b33379e36
vim: Remove vim-closetag
This plugin appears to conflict with vim-autopairs, although I prefer
the flexibility that autopairs provides.
2022-03-19 09:46:58 -04:00
Donovan Glover
edc3525416
polybar: Decrease maximum length for window titles
This prevents the title from overflowing and causing layout shifts when
the other modules expand.
2022-03-15 11:15:22 -04:00
Donovan Glover
68075e746d
bspwm: Auto-mount partitions with udiskie
One of the conveniences of GNOME is auto-mounting. Although manually
mounting is a good learning exercise, we can improve productivity by
auto-mounting by default.
2022-03-15 08:51:47 -04:00
Donovan Glover
582e282778
sxhkd: Show notification instead of image on screenshot
This lets us take advantage of screenshots in full screen applications,
without the interruption that another window would provide.
2022-03-13 17:45:40 -04:00
Donovan Glover
ca32f737a6
bspwm: Start dunst on startup
We removed dunst at some point but now we're adding it back again.
2022-03-13 10:27:56 -04:00
Donovan Glover
9bee976e87
paru: Remove make dependencies on install
Now we don't have to manually clean make dependencies with paru -c.
2022-03-13 10:27:03 -04:00
Donovan Glover
05100eca7e
Revert "Remove tari-core meta package"
Looking back at this, meta packages should be one of the most convenient
ways to keep track of packages. It gets the job done and should be more
than sufficient for our use case.

In particular, installing all packages guarantees that we won't "miss
something" and have to install it manually, which is more useful than
having a lower package number count.

The main disadvantage is dealing with constant updates to large packages
in a restrictive internet environment, although it's possible to
mitigate this by separating the smaller packages from the larger ones.
2022-03-13 09:02:09 -04:00
Donovan Glover
927e2e6be6
kitty: Use grid layout by default
This makes kitty's first 3 windows mimic the bspwm experience.
2022-03-12 18:14:16 -05:00
Donovan Glover
323cb92c96
bspwm: Enable touchpad use while typing
Since we rarely (if ever) touch the touchpad by accident while typing,
having the option to use the touchpad and keyboard at the same time is
useful.
2022-03-11 10:10:41 -05:00
Donovan Glover
62c0fe97ac
fish: Enable git discovery across filesystem
This is mainly to get rid of the warning when using "git status" where
git doesn't exist when the current partition isn't the same as the root
partition.
2022-03-11 10:06:04 -05:00
Donovan Glover
03d45a8fbd
mpv: Define maximum window size
This makes it so that mpv won't take up the entire screen when executed,
assuming it's dealing with a video resolution equal to or greater than
the current display.
2022-03-11 10:05:31 -05:00
Donovan Glover
91bb102ecf
sway: Start fcitx on startup
Now we can immediately take advantage of fcitx in sway.
2022-03-11 09:57:55 -05:00
Donovan Glover
934a417dfb
bspwm: Auto-hide the mouse cursor when inactive
This makes working with bspwm a lot cooler since the cursor is now
automatically hidden when not in use, making full screen videos and
other applications a lot more immersive.
2022-03-11 09:54:53 -05:00
Donovan Glover
51ded5a05b
picom: Make hacksaw work with shadows
This fixes an issue where picom caused the screen to dim when hacksaw
was used. See: https://github.com/neXromancers/hacksaw/issues/33
2022-03-11 09:37:43 -05:00
Donovan Glover
93d7d54e76
dunst: Remove old shortcuts setting
This was removed in dunst 1.7.0.
2022-03-11 09:22:05 -05:00
Donovan Glover
c556434f9d
mpv: Start in fullscreen by default
This makes it nicer to immediately watch stuff without having to
fullscreen it first.
2022-03-11 08:27:53 -05:00
Donovan Glover
3f2e408ded
fish: Add paru to abbreviations
Now it's possible to type "p" for paru instead of having to type
"pacman" or "sudo pacman". This is mostly for convenience, since I think
there's still some merit to typing things out the standard way.
2022-03-08 13:07:46 -05:00
Donovan Glover
e296e2d44d
mpv: Add subtitle settings
Now subtitles in mpv are easier to use and look nicer overall.
2022-03-08 13:03:59 -05:00
Donovan Glover
4a58768b9e
bspwm: Make fcitx work with kitty
Note that although it's possible to make fcitx work with alacritty as
well, the current implementation doesn't show what you're typing as
you're typing it, which is inconvenient.

Because of this, I recommend using kitty in all cases if switching input
methods is important for your use case. kitty also has the advantage of
image preview support on both xorg and wayland, since ueberzug does not
have wayland support.

Note that I previously set up a working environment with ibus-mozc
which, although was cool (and better than ibus-anthy), did not offer all
the benefits that fcitx provides. Now that I figured out how to make
fcitx work on both xorg and wayland, as well as in applications like
anki, this is my preferred input method for personal systems.
2022-03-08 12:52:00 -05:00
Donovan Glover
5fa1a0ddb9
meta: Switch cursor theme from breeze to phinger
Using phinger is slightly cooler since it's not as stock as other cursor
themes like breeze.
2022-03-08 12:41:55 -05:00
Donovan Glover
0473e96ca8
bspwm: Make fcitx work universally with exports
This improves the coverage of applications that take advantage of fcitx
under bspwm, such as anki.
2022-03-08 11:22:27 -05:00
Donovan Glover
9f769aec48
polybar: Show when volume is muted
This makes it easier to tell when the volume is muted.
2022-03-08 11:17:33 -05:00
Donovan Glover
7680433c6d
mpv: Improve rendering quality
The default mpv settings use traditional rendering methods in order to
support older hardware. Since we're running on modern hardware, we can
take advantage of the higher quality settings that mpv offers.
2022-03-08 11:10:21 -05:00
Donovan Glover
2fa523e12a
sway: Add alt tab support
This is similar to bspwm, except new workspaces aren't automatically
created and empty workspaces are skipped.

Although creating a script to handle this should be possible, sway
doesn't offer any real benefits to me since bspwm does everything that
sway can do with the addition of input method, image preview, and other
features being better supported on xorg.

To reiterate, I like the idea behind sway, however I am more fluent with
bspwm and xorg and prefer how windows are managed in bspwm. For software
that only works on wayland, sway is a lightweight alternative to
committing to a full-featured desktop environment like GNOME.
2022-03-08 09:27:30 -05:00
Donovan Glover
2625fc119b
alacritty: Change opacity setting for new version
Now newer versions of alacritty won't show a warning on startup.
2022-03-08 09:19:06 -05:00
Donovan Glover
9421aabf8d
sway: Use same reload/exit keybinds as bspwm
This makes things a little easier to remember.
2022-03-08 09:16:11 -05:00
Donovan Glover
0c016c8ab0
kitty: Hide window decorations
This maximizes the working space for the terminal contents.
2022-03-08 09:12:43 -05:00
Donovan Glover
ede4409aaf
waybar: Explicitly declare font awesome usage
This fixes an issue where the icons wouldn't show under certain
environments.
2022-03-08 09:01:29 -05:00
Donovan Glover
fb09146218
polybar: Update to font awesome 6 2022-03-08 09:00:39 -05:00
Donovan Glover
9eec02e3a6
tmux: Use minimalist layout 2022-02-26 14:30:14 -05:00
Donovan Glover
ad8fc32c5a
meta: Update copyright years
The year is now 2022. Isn't that something!
2022-01-01 20:55:51 -05:00
Donovan Glover
34c389c790
vim: Add prisma support 2022-01-01 20:54:18 -05:00
Donovan Glover
bcf774fe1d
vim: Show numbers by default 2022-01-01 20:54:09 -05:00
Donovan Glover
cb328838ba
vim: Add back nerdtree
It's nice to have the option to use nerdtree even if I don't need it
often.
2022-01-01 20:53:12 -05:00
Donovan Glover
35a7671728
vim: Add coc.nvim
I've been using coc.nvim for months now, so I might as well commit this.
2022-01-01 20:51:06 -05:00
Donovan Glover
4a627247a3
fish: Increase memory usage of node
This fixes an issue where we'd previously run out of memory while
developing with Gatsby.
2022-01-01 20:45:01 -05:00
Donovan Glover
92d31bfae4
fish: Specify ripgrep config path 2022-01-01 20:44:12 -05:00
Donovan Glover
da3bb48fe6
fish: Add deno, cargo, yarn, local to path
I added this a while ago but never committed it. Pretty useful for
software development.
2022-01-01 20:42:02 -05:00
Donovan Glover
d0f0248bd2
fedora: Add maintenance note 2022-01-01 20:38:56 -05:00
Donovan Glover
ee344e8236
docs: Update README
I'll add screenshots later.
2022-01-01 20:38:04 -05:00
Donovan Glover
fa2149cd9b
neofetch: Use ueberzug image backend
Note that this only works if you use neofetch-git since there hasn't
been a new release since this backend was added.
2022-01-01 20:33:57 -05:00
Donovan Glover
0ea61dc6de
fish: Remove task abbreviations
I no longer use task.
2022-01-01 20:33:16 -05:00
Donovan Glover
9386d54c8d
ranger: Use ueberzug for image previews
Now image previews will work in tmux, and in other terminals besides
kitty.
2022-01-01 20:31:02 -05:00
Donovan Glover
eb2d208aba
sxhkd: Add key to screenshot a selection 2022-01-01 20:28:51 -05:00
Donovan Glover
1a905dd78c
paru: Make upgrade menu similar to yay 2022-01-01 20:27:09 -05:00
Donovan Glover
e8bcabdf87
picom: Update deprecated no-dnd-shadow to wintypes
Now picom doesn't show deprecation messages anymore.
2021-11-15 13:04:25 -05:00
Donovan Glover
5dd54387a7
picom: Increase fade speed 2021-11-15 12:59:27 -05:00
Donovan Glover
1607d886b6
meta: Use normal dpi settings for now
Since the device we're using is normal DPI, we have to manually adjust
these two values. Note that the rest of the setup is mostly automated
when it comes to determining the size of things.
2021-11-15 12:55:40 -05:00
Donovan Glover
fa24fb9ea3
alacritty: Add pywal color scheme support
Now we can start new terminals in alacritty with our pywal color scheme
of choice.
2021-11-15 12:52:42 -05:00
Donovan Glover
196ecca512
lunarvim: Add indent-blankline plugin
Now it's easier to see where in the indentation tree we're at.
2021-11-15 12:49:40 -05:00
Donovan Glover
9d51a33379
picom: Add screen tearing patch
Now bspwm won't have any issues with screen tearing.
2021-11-15 12:44:35 -05:00
Donovan Glover
4becab25c3
meta: Rename compton to picom
Since the project changed names a while ago, we'll update the repository
to reflect this.
2021-11-15 12:42:43 -05:00
Donovan Glover
938573e03b
Revert "Remove compton"
We actually still need compton (now picom) for screen tearing in bspwm,
so we'll add it back now. In the future it may be useful to keep
dotfiles in the repository even when I no longer use them, since the
configuration itself may still be useful.
2021-11-15 12:38:02 -05:00
Donovan Glover
2cc55ac815
Add fcitx to bspwm config
Note that we're using fcitx5 instead of the older fcitx4 since the new
version supports sway and wayland in general.
2021-11-15 12:34:39 -05:00
Donovan Glover
d59a58b465
starship: Use ASCII characters for everything
This makes it easier to use starship in virtual consoles without
worrying about unsupported characters.
2021-11-15 12:31:34 -05:00
Donovan Glover
622929853b
starship: Use ASCII characters for prompt
Now the prompt looks nice in ttys.
2021-11-15 12:18:21 -05:00
Donovan Glover
0ab7b0fc3f
bspwm: Configure touchpad with sensible defaults
Natural scrolling and tap to click makes the bspwm experience more
pleasurable.
2021-11-14 12:15:22 -05:00
Donovan Glover
9b6bc04931
sway: Add keybind to toggle waybar
Now we can toggle waybar in sway similar to how we can toggle polybar in
bspwm.
2021-11-14 12:11:50 -05:00
Donovan Glover
55b04ac77d
rofi: Update config to 1.7.0
Now the application launcher plays nicely with the newest version of
rofi.
2021-11-14 12:10:23 -05:00
Donovan Glover
8f802d42cc
Add LunarVim
So far my experience with LunarVim has been positive. Although there are
some gotchas and your own configuration may be better in some cases, the
defaults used are pretty nice and should enable developers to get up and
going quickly with neovim.
2021-11-14 12:03:53 -05:00
Donovan Glover
180f676bc8
Revert "Remove dunst"
I actually switch between bspwm, sway, and other desktop environments
depending on how I feel now, and use dunst for bspwm.
2021-11-14 11:27:28 -05:00
Donovan Glover
ce3fde5b1a
meta: Replicate sway workspace functionality in bspwm
I like how sway handles workspaces. This change makes it so bspwm uses
numbers as the workspaces and polybar only shows workspaces that are
being used in the bar.
2021-11-14 11:20:57 -05:00
Donovan Glover
2d46188b02
polybar: Add back battery module
The current machine I use has a battery, so this is needed.
2021-11-14 11:19:17 -05:00
Donovan Glover
ab909d567d
waybar: Add padding to focused workspace
This fixes an issue where the focused workspace would cause the layout
to shift.
2021-11-14 11:16:40 -05:00
Donovan Glover
e9e8edfad3
polybar: Improve battery functionality
Now the battery module is more pleasant to look at.
2021-11-14 11:15:33 -05:00
Donovan Glover
0748f72be9
Add ripgrep config
Now it's possible to use ripgrep without worrying about files with
really long lines taking up the entire screen.
2021-11-14 11:13:42 -05:00
Donovan Glover
21169e1d1f
sxhkd: Add fn keys support
Now these keys will work identical to the way they work in sway.
2021-08-01 15:04:04 -04:00
Donovan Glover
15d0c03809
vim: Update auto-pairs to maintained fork
This fixes an issue where the previous version of auto-pairs would come
across issues when closing parentheses.
2021-08-01 15:02:32 -04:00
Donovan Glover
8b8788b835
Add starship
Note that I initially didn't use starship since I didn't like how it
used multiple lines, although it's fairly easy to configure to your
liking.
2021-07-07 10:22:36 -04:00
Donovan Glover
ed53f56c0d
waybar: Remove id from wifi
This makes the bar more minimal with less potential distractions.
2021-07-07 10:19:51 -04:00
Donovan Glover
ca50b7646c
fish: Remove git branch from prompt
This was cool but it breaks with the latest version of fish. Instead of
trying to fix this I'd rather use a less hacky solution.
2021-07-07 10:15:23 -04:00
Donovan Glover
f125fbde38
gpg: Update keyserver
This is necessary since sks-keyservers is deprecated.
2021-07-07 10:13:11 -04:00
Donovan Glover
ac554b7256
alacritty: Update config for new version
This fixes a warning that showed in new versions of alacritty.
2021-06-21 18:29:57 -04:00
Donovan Glover
d996dcfef2
sway: Exit resize mode the same way it was entered
Now resize mode behaves a little more sane.
2021-06-21 18:28:50 -04:00
Donovan Glover
5a64cc1f1a
sway: Simplify process of killing windows
$mod+q is much easier to press than $mod+shift+q.
2021-06-21 18:27:00 -04:00
Donovan Glover
a4513caab3
sway: Use kitty instead of alacritty
Although alacritty is cool, kitty is also cool and has image support,
ideal for rice screenshots.

This commit also adds $alt for the rofi command in the previous commit.
2021-06-21 18:25:48 -04:00
Donovan Glover
a563bb0850
Use rofi in sway
Note that although there was an issue with window focus, rofi works fine
for the most part and gets the job done.
2021-06-21 18:23:13 -04:00
Donovan Glover
32fad752a9
sway: Remove the default border
Now our windows take up the entire screen.
2021-06-21 18:21:10 -04:00
Donovan Glover
95c53368ca
sway: Set caps lock equal to escape
This change is very important for us vim users.
2021-06-21 18:20:24 -04:00
Donovan Glover
3e60bce07a
sway: Add touchpad config
Scrolling just got a bit more natural.
2021-06-21 18:19:22 -04:00
Donovan Glover
8a95b6fe00
polybar: Update monitor
Have to use eDP now, although waybar is very similar to polybar (and
without the need to specify this).
2021-06-21 18:17:23 -04:00
Donovan Glover
1dac50a70a
sway: Use waybar
Working with sway just became a bit nicer.
2021-06-21 18:15:51 -04:00
Donovan Glover
e1487a5c9c
Add waybar
Note that I also added support for pywal color schemes.
2021-06-21 18:11:15 -04:00
Donovan Glover
f4627139a6
Switch from xz compression to zst
Note that I'll likely change some other stuff at a later date.
2021-06-21 18:04:35 -04:00
Donovan Glover
919178b2d4
vim: Add GraphQL support
Now GraphQL queries look a little nicer.
2021-05-16 14:45:22 -04:00
Donovan Glover
a8660248ea
Switch from vim-jsx to vim-jsx-pretty
Note that vim-jsx is now unmaintained.
2021-05-16 14:42:47 -04:00
Donovan Glover
83a5078368
sway: Change background to one from archlinux-wallpaper
After the contest for archlinux-wallpaper, there are a lot of high
quality backgrounds that one can choose from. Instead of worrying
about choosing an appropriate background for a desktop environment,
one can simply use archlinux-wallpaper instead.
2021-05-14 19:16:42 -04:00
Donovan Glover
23811e56e6
sway: Add fn keys support
Note that F9-F11 currently don't report anything in xev, although we can
program the rest of the keys here.
2021-05-14 19:13:47 -04:00
Donovan Glover
06bd933fa8
fish: Use native hostname variable
$hostname is now defined by default so we don't need to do anything
here. I assume it wasn't always like this since otherwise I wouldn't
have needed to call `hostname` in the first place.
2021-05-14 19:00:12 -04:00
Donovan Glover
dd0b64cac4
tmux: Standardize layout
This admittedly makes our tmux slightly boring in comparison to those
that customize it, but having a consistent layout makes it easier to
work with tmux across different environments.
2021-05-14 17:31:08 -04:00
Donovan Glover
102dd8a0c2
Switch from dog to bat
"dog" was an alternative I used to cat for syntax highlighting. Now that
bat exists (which is written in rust, by the way), there is no need to
use "dog" and I highly recommend anyone interested to use bat instead.
2021-05-14 17:28:36 -04:00
Donovan Glover
40d29b201e
docs: Minor fixes 2021-05-14 17:26:33 -04:00
Donovan Glover
23f6525aff
fish: Don't start X at login
Now we can do some cool stuff in tty1 when we decide to not start a
display manager.
2021-05-14 17:16:58 -04:00
Donovan Glover
bb98444147
sway: Remove warning message when exiting
Now we can exit sway without having to use the mouse.
2021-05-14 17:13:08 -04:00
Donovan Glover
21525cd2a8
sway: Remove arrow key stuff
It's much easier to simply use hjkl, so I'm removing the arrow key
shortcuts to avoid any conflicts.
2021-05-14 17:02:33 -04:00
Donovan Glover
bc3a6de7f5
Add sway
Note that I'm adding sway with the default config first so I can keep a
record of my changes with git.
2021-05-14 16:48:51 -04:00
Donovan Glover
75d66fb6c6
git: Set the default branch to master
I've always loved how the master branch is called master since it's
comparable to mastering a skill or emphasizing the importance of
something.
2021-05-14 16:30:04 -04:00
Donovan Glover
6c7c819f1d
Add vscode-wal note
This is my final goodbye (possibly) to (vs)code users and in this commit
I share the secret to a nice-looking pywal config for the editor.
2021-05-14 16:22:00 -04:00
Donovan Glover
cfbe5b70d5
Add alacritty
It turns out that I don't actually *need* image output in the terminal
(besides being cool). With that aside, I can safely use alacritty
knowing that it's written in Rust and is apparently the fastest terminal
emulator in existence.
2021-05-14 16:17:31 -04:00
Donovan Glover
a42bf287a4
Remove yay stuff from bootstrap script
Note that I need to update the script later or simply provide a series
of instructions so everything isn't dependant on one script.

In the past it was nice to install Arch Linux with minimal if any
console intervention, but the practicality of this is questionable
since you only have to install Arch once. A more specialized script
could be useful for mass installations, although in this case I assume
one would create such a script on-the-spot.
2021-05-14 16:00:29 -04:00
Donovan Glover
b05409a717
Remove make code-extensions
I no longer have an interest in code and am not using these extensions
personally.
2021-05-14 15:56:03 -04:00
Donovan Glover
51751a0233
Add disclaimer on code
For those of you reading this: If possible, you should invest in neo(vim)
instead of (vs)code, as I believe there is a significant difference in
productivity when it comes to not worrying about the user interface that
(vs)code provides.
2021-05-14 15:51:49 -04:00
Donovan Glover
0fe3630a65
Revert "Remove xcape/xmodmap"
Similar to the other revert commits, I may want to do some programming
in xorg, where xcape and xmodmap are useful.
2021-05-14 10:20:05 -04:00
Donovan Glover
4c1be9aec4
Revert "Remove bspwm"
Although I said I was using Sway, it doesn't hurt to keep my bspwm files
in the event that I'd like to use bspwm.
2021-05-14 10:19:19 -04:00
Donovan Glover
a33c3b0f7b
Revert "Remove sxhkd"
Similar to the other revert commits, keeping my sxhkd config is useful
if I want to use bspwm in the future, since I won't have to re-create
it later.
2021-05-14 10:18:03 -04:00
Donovan Glover
c01f79ffcc
Revert "Remove xinit"
I may want to use this in the future and even if I don't use it it's not
going to have a significant impact on the computer, so I might as well
keep it here just in case.
2021-05-14 10:15:19 -04:00
Donovan Glover
df1d328de9
Revert "Remove polybar"
I don't actually need to get rid of my old config files if I ever want
to have easy access to them in the future. Although I intend on using
Wayland, having a nice interface for traditional X applications may not
be a bad idea (some graphically intensive programs also run better there,
apparently).
2021-05-14 10:14:07 -04:00
Donovan Glover
02ebbd69b1
Update kitty config
Some nice changes here, although I may stick to alacritty for now since
it seems to be faster and I can focus on using tmux instead of having
multiple ways to manage windows.
2021-05-14 07:45:07 -04:00
Donovan Glover
da77cb49ab
Remove xinit
No need for .xinitrc since I use Wayland now.
2021-05-13 14:46:08 -04:00
Donovan Glover
657789690d
Remove polybar
Time to learn how to configure a new status bar!
2021-05-13 13:39:26 -04:00
Donovan Glover
bff988d47b
Remove sxhkd
Ditching bspwm+sxhkd admittedly makes my setup a bit more simple, which
I like. I also like how sway supports multiple monitors out of the box.
2021-05-13 12:27:12 -04:00
Donovan Glover
66e0c425c6
Remove bspwm
It's the end of an era and I no longer use bspwm. Although the tiling of
bspwm was admittedly cool, at the end of the day most of my time isn't
spent opening new windows so working with the i3-like sway instead works
just fine.
2021-05-13 12:24:14 -04:00
Donovan Glover
a8d16cbb0c
Remove tari-core meta package
Having a meta package was cool and it got the job done, but it's
inconvenient to use when adding and removing a lot of packages.

One alternative I'm looking at is simply keeping track of all the
explicitly installed packages and storing that in a text file. This
makes it easy to keep track of all the installed packages without
introducing downsides, and new machines that don't need certain
packages can simply delete those lines.
2021-05-13 10:56:30 -04:00
Donovan Glover
7910a7283c
Simplify neofetch config
As of now I am largely uninterested in customizing neofetch to look
completely different, although time will tell if I stay true to this
stance. As of now, however, showing an image is enough.
2021-05-13 10:32:51 -04:00
Donovan Glover
74d400aa73
Clean up code config
No need to deal with HiDPI fixes anymore!
2021-05-13 10:27:21 -04:00
Donovan Glover
d5a59a366e
Remove rtv
rtv has been archived for a while now so I'm removing it for
simplicity.
2021-05-12 21:18:12 -04:00
Donovan Glover
a69e5815c7
Remove xcape/xmodmap
This is no longer needed since I use sway now.
2021-05-12 21:07:02 -04:00
Donovan Glover
0662befeb2
Remove dunst
dunst actually has Wayland support but I'd like to try something else
for now, possibly something more "sway-like".
2021-05-12 20:25:40 -04:00
Donovan Glover
6adeb19e2b
Remove compton
Over time compton became unmaintained and a replacement package picom
took its place. After trying out sway for a bit, I realized that it
doesn't need a separate compositor at all like bspwm does, so I might
just switch to it. Note that there is a performance penalty on sway
that I haven't figured out how to solve yet.
2021-05-12 18:10:17 -04:00
Donovan Glover
5071eb3731
Remove evince
evince actually uses less memory than zathura and seems to be more
efficient overall, although it isn't as customizable as zathura and
not as minimal in terms of UI.

Overall, I'd rather just use zathura, which also lets me be more
consistent in my bspwm setup.

Apparently gnome-books and sushi depend on evince, the first of which
is a GUI for djvu/epub files and the second of which lets you preview files
with the spacebar in the file explorer. Ironically, I've never used this
feature until I read about it, and although it seems cool, I don't think
I have a use for it as I've been opening my files normally for years now.
2021-05-12 05:12:41 -04:00
Donovan Glover
46cd567a97
Remove unused packages
Some of these packages I don't use anymore. I've gone ahead and removed
them here.
2021-05-11 09:42:02 -04:00
Donovan Glover
83dd4ed015
Remove old tmux colors
Some of these settings, specifically the window-status ones, produced
error messages in more recent versions of tmux. I've gone ahead and
simplified everything to the default colors since they work pretty well
already.
2021-05-10 11:10:12 -04:00
Donovan Glover
5c21dbeb58
Remove ctrl+alt keybindings from kitty
Since I don't use urxvt anymore (which I assume is where I got the
ctrl+alt from), I no longer confuse the two.
2021-05-10 10:31:25 -04:00
Donovan Glover
4af8b2a37e
Remove custom mozilla.cfg
At some point some of these settings stopped working. I'd rather not
deal with the cost of maintaining everything so I'm just removing it
for now.
2021-05-10 10:20:16 -04:00
Donovan Glover
a8a0055c49
Remove xeventbind
Since I don't change resolutions as often if at all anymore, this
isn't needed.
2021-05-10 10:17:59 -04:00
Donovan Glover
3cbbbd1255
Remove bspwm-round-corners-git
I no longer have a need to use round corners in bspwm, although it was
cool at the time.
2021-05-10 10:04:34 -04:00
Donovan Glover
eb4650fb3b
Switch from yay to paru
Paru is a new AUR helper written in Rust. The main difference between
it and Yay (written in Go) is that the code is supposed to be cleaner.
2021-02-27 16:54:58 -05:00
Donovan Glover
5bc2693cfb
archlinux: Add vim and dhcpcd to install-scripts
These packages aren't included by default anymore so adding them here
makes sense. Note that maintaining a large meta package is actually
difficult since one error means the whole thing doesn't work.

I am looking for an alternative solution to keep things somewhat
automated while at the same time increase flexibility when it comes
to the initial setup.
2021-01-04 23:41:41 -05:00
Donovan Glover
09ca99fe97
archlinux: Remove arc-kde from tari-core
This package isn't in the main repos anymore so we have to remove it
to avoid errors during the make process.
2021-01-02 19:00:24 -05:00
Donovan Glover
893a99109b
meta: Update copyright years
Since I actually made some meaningful contributions for 2021 I can
update the copyright years now!
2021-01-02 18:25:20 -05:00
Donovan Glover
182c1e2061
archlinux: Update pacstrap packages
base-devel no longer exists and the installation guide now tells users
to explicitly install the linux and linux-firmware packages.
2021-01-02 18:02:54 -05:00
Donovan Glover
ecf6125907
archlinux: Use curl instead of wget for install scripts
Current iso doesn't have wget automatically installed, so we should
use curl instead.
2021-01-02 17:57:03 -05:00
Donovan Glover
6b109ac0d0
PKGBUILDs: Add sensible-chromium
I actually wrote this in 2018 but never committed it. Might as well do
that now. The extensions it installs are uBlock Origin, Vimium, and
HTTPS Everywhere.
2021-01-01 23:50:51 -05:00
Donovan Glover
e2ca722963
meta: Miscellaneous updates
I wanted to commit some more stuff for 2020. Better late than never,
right? The most significant change is probably in fish_prompt.fish.
I fixed an edge case where the directory in question could be the
same as the user's username.
2020-12-31 23:56:22 -05:00
Donovan Glover
d8ed02a78f
bspwm: Add code icon 2020-09-07 23:15:29 -04:00
Donovan Glover
decb6bd157
archlinux: Add gotop
Unlike vtop and gtop, gotop is a nice top solution that doesn't
rely on JavaScript in the terminal.
2019-01-22 08:54:49 -05:00
Donovan Glover
36f0364d45
fish: Add abbreviations for yarn 2019-01-15 23:01:57 -05:00
Donovan Glover
0c7e78acb9
vim: Fix vim-jsbeautify initialization
This fixes an issue where vim-jsbeautify would not be initialized.
2019-01-15 22:56:56 -05:00
Donovan Glover
9c5856d147
misc: Update copyright years
The year is now 2019. Let's see what we can do!
2019-01-01 23:52:55 -05:00
Donovan Glover
739e75599d
compton: Add fade settings
This makes the fade a little faster so that it's easier to switch
between bspwm desktops.
2019-01-01 23:47:50 -05:00
Donovan Glover
1777de5b11
fish: Remove --verbose flag from git branch abbreviation
Now that I understand more about how `git branch` works, I really use
it for more than just the --verbose flag.
2019-01-01 13:57:22 -05:00
Donovan Glover
e37ea93566
fish: Add kitty set-colors abbreviation
This abbreviation is useful when you change your color scheme with
wal and plan to or have multiple kitty windows open (since kitty
itself will still be using the color scheme it initially loaded
from the config file).
2019-01-01 13:50:59 -05:00
Donovan Glover
a2588c8526
mpd: Add .gitkeep for playlists directory
This solves an issue where mpd would throw an error if the
directory was not found.
2019-01-01 13:35:11 -05:00
Donovan Glover
1977881b78
archlinux: Update shotgun
The shotgun package is now in the community repository.
2018-12-31 16:00:02 -05:00
Donovan Glover
58ee4a348b
archlinux: Remove shantz-xwinwrap-bzr
Since animated desktop backgrounds are more of a hassle to maintain than
they are worth, I've gone ahead and removed xwinwrap. If you are running
bspwm and still want an animated desktop background, use:

xwinwrap -g 3840x2160 -ov -- mpv -wid WID --loop inf your.video

For reference, you can use xwinwrap with any resolution you want, not
just your screen size. mpv will also accept pretty much any animated
format out there.
2018-12-31 15:39:26 -05:00
Donovan Glover
334d40c160
docs: Clean up README
Since most of the README wouldn't be relevant to most users anyway,
I've gone ahead and removed it. In the future I may consider writing
a brief guide on how to set up certain things, but for now I'm focusing
more on the dotfiles and bootstrap aspect itself instead of trying to
treat everything as a collective whole.
2018-12-29 22:13:54 -05:00
Donovan Glover
75de75a6ca
meta: Change repository name from .files to dotfiles
It turns out that using a literal dot instead of the word dotfiles has a
negative impact on the discoverability of the repository. Since the
directory name can be changed to .files when running `git clone`, this
gives us the freedom to name the repository however we please.
2018-12-28 14:00:25 -05:00
Donovan Glover
8771dff380
archlinux: Remove ranger-git
kitty support is now in the latest released version of ranger, which
is now in the community repository.
2018-12-28 13:56:53 -05:00
Donovan Glover
a3a4811f0b
misc: Fix changelog url
Note that this url will have to be updated manually every time
a new version is released.
2018-12-22 17:56:03 -05:00
Donovan Glover
4627df44f7
docs: Update changelog 2018-12-22 17:47:58 -05:00
Donovan Glover
665c51a356
meta: Add full variable DPI support
This *should* complete the process of adding full variable DPI support
to an X session. The X DPI is now set dynamically and changes on
resolution change, making this setup easy to deploy to both traditional
and HiDPI environments.
2018-12-22 17:28:10 -05:00
Donovan Glover
0483131b62
bspwm: Run xeventbind in the background if found
This makes it so that the X DPI and other components are
automatically changed on resolution change.
2018-12-22 17:04:01 -05:00
Donovan Glover
dac1e40a2b
bspwm: Set DPI before starting polybar
This change makes it so that DPI is determined when bspwm is started
instead of relying on ~/.Xresources to always have the correct DPI.
2018-12-22 17:01:22 -05:00
Donovan Glover
e4eb86bdeb
xeventbind: Set a default Xft.dpi if none is found
Since our scripts depend on Xft.dpi being set, we first set the
variable to a reasonable default before doing anything else.
2018-12-22 16:37:05 -05:00
Donovan Glover
fa8fb212ab
xresources: Don't explicitly set DPI
This caused some problems when the ~/.Xresources DPI was 192 and the
screen resolution was 96 DPI. Since I now know how to manipulate cursor
size even after X is started, manually setting Xft.dpi in ~/.Xresources
to 96 or 192 DPI is no longer needed.
2018-12-22 16:26:27 -05:00
Donovan Glover
419aa607a3
bspwm: Set the color scheme to base16-tomorrow-night
As cool as it was to have a random color scheme on boot, setting a
predictable and easy to read one is slightly more practical.
2018-12-22 15:58:50 -05:00
Donovan Glover
fcc021daa5
meta: Change cursor size based on DPI
Now that I figured out how to change cursor size for all applications
and not just a select few, restarting the X session to use a new cursor
size is no longer necessary.
2018-12-22 15:52:31 -05:00
Donovan Glover
49e6b75969
rofi: Launch programs with DPI-based cursor size
Now it is possible to take advantage of different cursor sizes
without restarting the X session.
2018-12-22 15:43:01 -05:00
Donovan Glover
b083794a19
xeventbind: Change cursor size on resolution change
Note that some applications will not respect xsetroot, so using
XCURSOR_SIZE as well is necessary.
2018-12-22 15:37:05 -05:00
Donovan Glover
e93cd4006d
misc: Fix spacing 2018-12-17 23:07:29 -05:00
Donovan Glover
b2ff1f09f9
docs: Remove old todo
This repository is now cloned as part of install.sh. It is up to the
user whether or not they want to run bootstrap.sh on first boot.
2018-12-17 15:51:13 -05:00
Donovan Glover
571c03bb55
meta: Add git tag information to fish prompt
Now that I understand how tags work in git, keeping track of the current
revision number with the shell prompt is actually very useful.
2018-12-17 15:45:39 -05:00
Donovan Glover
f6e2997e28
httpie: Update version number 2018-12-17 15:37:41 -05:00
Donovan Glover
6e92980c75
docs: Add Code screenshot 2018-12-15 20:04:05 -05:00
Donovan Glover
b58f25c793
docs: Add screenshot 2018-12-14 16:56:06 -05:00
Donovan Glover
23cea296d1
meta: Release 0.2.0
Lots of changes here, with lots of improvements as well!
2018-12-12 23:48:34 -05:00
Donovan Glover
d812ff86aa
misc: Update docs
Changing between desktop environments is no longer a feature since
it's easier and more convenient to use only one environment, although
it's still certainly possible for the determined user.
2018-12-12 19:23:54 -05:00
Donovan Glover
26a074eeb4
archlinux: Install rust toolchain during bootstrap.sh
This is necessary during the bootstrap step since the shotgun
PKGBUILD assumes that a rust toolchain is installed.
2018-12-12 08:29:32 -05:00
Donovan Glover
044d919bba
archlinux: Clone this repository as the proper user
This fixes an issue where root would own all the files in the user's
~/.files directory, preventing the user from doing anything useful.
2018-12-12 06:53:45 -05:00
Donovan Glover
c552c3b633
archlinux: Fix make refresh-keys target
The bootstrap script was trying to call refresh-keys when the make
target was named update-keys. Since the flag is called --refresh-keys,
it makes sense to call the make target refresh-keys as well.
2018-12-12 06:47:36 -05:00
Donovan Glover
bb5537c30a
sxhkd: Add variable DPI support to dropdown.sh
This makes the dropdown terminal render properly in both 96 and 192 DPI,
as well as any multiples thereof.
2018-12-12 06:18:21 -05:00
Donovan Glover
bceec89b6a
sxhkd: Add variable DPI support to screenshot.sh
This makes the feh window render correctly in both 96 and 192 DPI,
as well as any multiples thereof.
2018-12-12 06:15:33 -05:00
Donovan Glover
5f0320f2bf
polybar: Switch label-mode with label-state
Now that the desktop labels cover less width and have lower padding,
it makes sense to place label-mode on the right side instead of the left.

This fixes an issue with padding I previously encountered with the old
desktop labels, and also prevents the desktop labels from being shifted
to the right when a label-mode is present.
2018-12-12 05:25:32 -05:00
Donovan Glover
ca23bbabd9
meta: Add kdeglobals package
This lets us use the Arc Dark theme in Qt / KDE applications without
having to worry about setting it through Plasma's system settings
interface.

Note that it's probably possible to change the color values to get any
look you want; one could even automate this process through pywal, and
symlink ~/.config/kdeglobals to ~/.cache/wal/kdeglobals.
2018-12-11 17:09:49 -05:00
Donovan Glover
0394f17390
misc: Update docs 2018-12-11 16:31:10 -05:00
Donovan Glover
ebb3663105
archlinux: Remove --now flag from lxdm.service
We don't want to start lxdm during the bootstrap process.
2018-12-11 15:53:22 -05:00
Donovan Glover
ce8a2e54c7
meta: Update Arch Linux bootstrap process
Fixed some things which should make the entire process a bit
more fluent.
2018-12-11 15:51:10 -05:00
Donovan Glover
a063e1aa18
meta: Update tari-core
Removed Plasma as an option and added some missing packages.
2018-12-11 15:46:28 -05:00
Donovan Glover
4dfbc5d469
docs: Update README 2018-12-11 15:42:41 -05:00
Donovan Glover
bb5b168ca5
archlinux: Add make gnome target
Here are some good default GNOME settings for when you want to boot
into the gnome shell instead of bspwm.
2018-12-11 15:16:07 -05:00
Donovan Glover
7825eed62f
archlinux: Enable the lxdm service
Note that we enable lxdm before revoking privileges. The user can
start lxdm manually after this script is finished, but ideally the
system should first be rebooted to ensure that any kernel updates
are applied properly.
2018-12-11 15:11:37 -05:00
Donovan Glover
d4475bbf3a
archlinux: Add shantz-xwinwrap-bzr
This makes it possible to draw mpv on your desktop. In other words, it
lets you use animated backgrounds with any format mpv supports.
2018-12-11 14:39:12 -05:00
Donovan Glover
e7f00aa7f8
archlinux: Run xdg-user-dirs-update during bootstrap.sh
Note that the directories generated can be changed with
user-dirs.dirs, and should respect the user's locale.
2018-12-11 14:32:16 -05:00
Donovan Glover
1324f4099a
archlinux: Remove bspwm-round-corners-git from bootstrap.sh
It turns out that manual intervention is necessary to resolve dependency
conflicts (bspwm-round-corners-git replaces bspwm), so it is easier to
simply install bspwm-round-corners-git later if wanted.
2018-12-11 14:23:00 -05:00
Donovan Glover
429a56d480
archlinux: Refresh keys before installing packages
This fixes an issue where some packages cannot be verified if
they use new keys.
2018-12-09 23:57:47 -05:00
Donovan Glover
49c0091f1b
archlinux: Use yay to install AUR packages
It turns out that yay automatically handles the process of installing
package dependencies not in the official repositories. This is very
important for some PKGBUILDs, so I've gone ahead and let yay handle
all the AUR packages I build.
2018-12-09 23:52:24 -05:00
Donovan Glover
cdad1fe3bf
archlinux: Remove dependency step from bootstrap.sh
Any dependencies that need to be installed will be done so from
tari-core.
2018-12-09 23:44:49 -05:00
Donovan Glover
8ac1e0f765
archlinux: Add make rust target
Since rustup is just the installer, we have to use it to
install rust.
2018-12-09 23:42:01 -05:00
Donovan Glover
c93c4dc60f
tari-core: Add missing packages
Note that plasma-integration is used for KDE theme support without
installing the entire plasma-desktop. The breeze_cursors theme is
included in the breeze package, and xorg-xsetroot is used to change
the default X shaped cursor to a pointer.
2018-12-09 23:31:29 -05:00
Donovan Glover
6ca65d02eb
meta: Remove unused packages
Since I figured out how to run both KDE and GTK applications with
their proper settings under any lightweight window manager, and since
I now know how to configure these programs independent of their desktop
environments, this commit removes plasma-desktop, with the possibility
of gnome-shell bring removed in a future commit as well.

The rationale is that using a desktop environment is counter-intuitive
when you already use a window manager. Having multiple desktop environments
to start a session with is certainly amusing, but not at all practical,
especially when you can accomplish anything that needs to be done with
any window manager.

Switching between GNOME, Plasma, and bspwm also caused some inconsistent
X settings that I assume are non-trivial to fix without a proper restart
of the X server.

Simply starting the Plasma desktop environment will create quite a few
files in ~/.config. These files consist of window coordinates and other
non-friendly things, which, IMO, should not belong in the *user's* config
directory.

Regarding other software, GNOME MPV is arguably easier to use and less
buggy than baka-mplayer. Manipulating archives is also much easier with
file-roller than it is with ark. Since I got Audacity to look decent on a
HiDPI display, I no longer have a use for Kwave, which did not have some
of the essential features I used in Audacity anyway.

l3afpad functions much more like a notepad than kwrite, which is what
I'm looking for since I already use Vim. Using Cantata as a mpd client
is simply not the same as using ncmpcpp. zathura and evince are more
than enough for document viewing, hence the removal of Okular.
2018-12-09 22:33:57 -05:00
Donovan Glover
f649795900
tari-core: Use one line per package
This makes it easy to remove unwanted packages as needed. It also
improves git diffs, since the line with the closing parenthesis
is not changed.
2018-12-09 19:24:56 -05:00
Donovan Glover
54c2f73d67
gtk: Fix order of settings.ini
Note that these settings should be in alphabetical order to avoid
auto-formatting diffs.
2018-12-09 15:39:54 -05:00
Donovan Glover
948359bdef
archlinux: Add bootstrap.sh
This *should* work, although I haven't tested it yet.
2018-12-08 13:49:29 -05:00
Donovan Glover
6a81d13297
meta: Add bspwm-round-corners-git PKGBUILD
This is the PKGBUILD I made for a [nice patch][1] that adds border
radius support to bspwm. The patch has not been merged upstream yet,
so this PKGBUILD will have to do in the meantime.

[1]: https://github.com/baskerville/bspwm/pull/856
2018-12-08 13:10:12 -05:00
Donovan Glover
9ff3bfa22f
PKGBUILDs: Merge tari-web with tari-core
Since anyone using Tari will probably want the web browsers too,
this change makes sense.

Since all of Tari is now in one PKGBUILD, it is easy to see everything
that will be installed, and it becomes trivial to add or remove packages
as needed.
2018-12-08 12:35:00 -05:00
Donovan Glover
eff526497b
meta: Don't install firefox extensions globally
Updating firefox extensions manually is not ideal. Additionally,
this method is non-trivial to apply if the target system does not
use pacman as the package manager.
2018-12-08 11:26:13 -05:00
Donovan Glover
1050d01e53
fedora: Update path to color scripts 2018-12-08 11:09:23 -05:00
Donovan Glover
05a824ae69
PKGBUILDs: Rename tari-scripts to color-scripts
Since color scripts can be used independently of Tari
(the meta package), this change makes sense.
2018-12-08 11:07:01 -05:00
Donovan Glover
97a5a84d82
archlinux: Fix make clean target
Since this target was moved up one directory, its relative paths
need to be updated as well.
2018-12-08 10:39:42 -05:00
Donovan Glover
39144c4ca0
PKGBUILDs: Rename tari-util-xeventbind to xeventbind
Since Tari will work as an independent PKGBUILD now, and since
xeventbind is an individual program not related to Tari, it makes
sense to remove the associated prefix.
2018-12-08 02:04:08 -05:00
Donovan Glover
1c9fca7dd4
polybar: Decrease bar height
Less bar height means more working screen space.
2018-12-08 01:32:10 -05:00
Donovan Glover
f94d4af3db
PKGBUILDs: Merge tari-plasma and tari-gnome with tari-core
Since I don't have to worry about the completeness of individual desktop
environments, this makes it easier for me to tailor the tools I use to
my use cases.
2018-12-08 01:21:50 -05:00
Donovan Glover
25a30ae30a
compton: Add custom shadow settings
With the default shadow settings, gapless windows would have a shadow
extending far into the polybar above.

This change makes gapless windows show a light separator shadow that
distinguishes the window from the bar. It also fixes a problem with
the appearance of the dock shadow in less noisy environments, while
maintaining the shadow look for floating and tiled windows at the
same time.
2018-12-08 01:02:09 -05:00
Donovan Glover
18972fdb81
PKGBUILDs: Merge tari-desktop with tari-core
Since the collective system is known as Tari, having individual parts
for the pieces that work together to make the whole is not ideal.

Now that I understand more about how Arch Linux works, if I ever needed
to create a non-Tari operating system, I would just use pacman to install
packages as needed, or modify this PKGBUILD to create a new meta package
specific to that system.
2018-12-08 00:48:00 -05:00
Donovan Glover
20fb948b5e
polybar: Fix usage of incorrect background color
color0 is usually the background color, but not always. This fixes an
issue where polybar would not display the right background color if
color0 was different than the background color set by the pywal theme.
2018-12-07 20:30:55 -05:00
Donovan Glover
3efd3aef97
meta: Add symlink to .editorconfig
This should make web interfaces and editorconfig-equipped text
editors show the correct amount of spacing for tab characters.
This should also make it easy for contributors to use the right
indentation and other file settings.
2018-12-07 19:25:12 -05:00
Donovan Glover
63dccefed3
misc: Small fixes 2018-12-07 18:47:38 -05:00
Donovan Glover
53f3ef09f4
PKGBUILDs: Merge tari-dev with tari-core
Not all of these packages may be useful to everyone, and that's fine.
Any list I create won't satisfy everyone, but reducing the number of
PKGBUILDs makes it easier to see and change all the packages installed
on the system as a whole.

Due to the nature of how Arch Linux works, most users won't even need my
PKGBUILDs. With the exception of setting up X with a bare-minimum window
manager, installing and configuring most software is as simple as using
pacman to install that software and symlinking any config files you want
to their relevant directories, if any.
2018-12-07 18:06:19 -05:00
Donovan Glover
57177600c6
meta: Remove fish completions for httpie
There is an open bug that should be resolved before or during the
Arch Linux Bug Day coming up next month (January 2019). Either way,
manually updating the httpie version becomes impractical after some
time; it's best to apply this fix upstream instead.
2018-12-07 17:38:44 -05:00
Donovan Glover
e627c60540
meta: Don't install vim plug globally
Since my .vimrc already installs the same version of vim plug,
and since any user can symlink my dotfiles, using a PKGBUILD to
install it is redundant and arguably less portable.
2018-12-07 17:29:48 -05:00
Donovan Glover
5fa02b42be
PKGBUILDs: Merge tari-bspwm with tari-desktop
As ironic as this may sound, less user choice means that there's less
room for error. Plus, it makes things conveniently easier for me and
possibly every other user of the software.
2018-12-07 16:53:45 -05:00
Donovan Glover
ba704bab08
PKGBUILDs: Merge tari-cli with tari-core
Realistically, if I'm installing the tari packages, I more often than
not want everything with it. If I am aiming for a minimalist setup
without X11 or Wayland, I will probably not use the tari packages
anyway.
2018-12-07 16:15:54 -05:00
Donovan Glover
3d9a699812
archlinux: Add make yarnconfig target
Since ~/.yarnrc is an autogenerated file, we configure it through
the Makefile instead.
2018-12-07 15:59:51 -05:00
Donovan Glover
8ea57dabf5
meta: Add CONTRIBUTING.md
Feel free to contribute to my dotfiles. I think it's great if
anyone uses them, since I tried to make them easily approachable,
extensible, and usable.
2018-12-07 15:56:27 -05:00
Donovan Glover
9ddd20f348
archlinux: Add make fontconfig target
fontconfig is used to maximize the visual appearance of fonts.
2018-12-07 15:34:24 -05:00
Donovan Glover
613d21a099
misc: Add aur build directory to .gitignore 2018-12-07 15:26:05 -05:00
Donovan Glover
6f58c47506
fedora: Revoke sudo privileges when no longer needed
We don't need sudo privileges when installing the dotfiles and
vim plugins.
2018-12-07 15:24:16 -05:00
Donovan Glover
15047e15e6
archlinux: Add make aur target
This is a very simple AUR helper.

Usage: make aur package=<package>
2018-12-07 03:25:34 -05:00
Donovan Glover
1a0304003f
docs: Simplify process of using install scripts
Now that install.sh downloads the other scripts if they are not present,
fetching this entire repository is no longer necessary.
2018-12-06 18:32:07 -05:00
Donovan Glover
0be668443e
archlinux: Clone this repository to the user's $HOME
This makes it easier to immediately start using dotfiles and other
config settings on first boot. It may even be useful to add an option
to run the entire bootstrap script in the installation media. Note that
if this route is taken, some assumptions regarding installation will
have to be changed to adjust for the chroot environment.
2018-12-06 18:27:33 -05:00
Donovan Glover
71179c2e67
fish: Remove git grep abbreviation
As cool as "gg" is to type, I never used git grep since ripgrep works
just as great (and is almost always easier to read as well).
2018-12-06 18:11:07 -05:00
Donovan Glover
f320b0c294
archlinux: Add single install script support
This commit makes it so that downloading the entire repository to run
the install scripts is no longer necessary.

It assumes that you have an active internet connection, which should be
a given since you need an internet connection to run pacstrap anyway.
2018-12-06 17:39:59 -05:00
Donovan Glover
1e7cb458ea
compton: Remove redundant clear-shadow option
Clear shadow is now used by default in compton. Note that if you are
running an older version of compton, you should probably upgrade.
2018-12-06 15:05:38 -05:00
Donovan Glover
476f34f107
bspwm: Change desktop names
It turns out that bspwm desktop names can be anything you want.

They can also include spaces, since they're just strings.
2018-12-06 14:23:50 -05:00
Donovan Glover
5ca492277b
kitty: Decrease window margin width
This increases the amount of available space we have to work
with kitty windows.
2018-12-06 01:52:45 -05:00
Donovan Glover
309f428550
meta: Add tig package
Sometimes theme colors are very light. This commit fixes the problem
of white text being shown on light backgrounds.
2018-12-06 01:42:53 -05:00
Donovan Glover
8c1545c4e8
kitty: Use distinguishable border colors
Now that I use borderless and gapless windows by default, the window
management feature of kitty has become even more useful to me. This
change makes it easy to determine the active kitty window.

Despite having used tmux exclusively before, I have grown accustomed to
the benefits of using kitty as the window manager. tmux may still be
useful, for example, over ssh, but kitty is arguably the way to go for
local user sessions.
2018-12-06 01:37:18 -05:00
Donovan Glover
72411885cd
fish: Add color to man pages
Note that this will affect the output of `env` since color codes are
used. Using a function to invoke man is not ideal since fish uses its
own function for its man pages.
2018-12-05 23:31:06 -05:00
Donovan Glover
c0526a8c55
meta: Modernize polybar
It turns out that merge commit messages are used to keep track of
branch information since the commits themselves only reference other
commits and the actual branches may be deleted at a future date (even
`git clone` by default will not pull in any other branches).

Personally, I find a meaningful commit message more useful than a merge
commit message, so I'll be using that instead. Later when looking at
the commit history, "Merge branch <branch_name>" will not be useful
since the mentioned branches will have already been deleted.

Some projects rebase all changes into one commit, then push that
single commit to master. This seems like a very convenient approach
for small fixes, although if done for larger changes, each individual
commit and its respective explanation is lost.

In particular, this merge commit adds a bunch of config changes that
make polybar (and the system itself) more practical to use. Borders and
gaps are now disabled by default, and can be manually set through bspc
for your ricing needs.
2018-12-05 22:24:51 -05:00
Donovan Glover
454848572a
polybar: Fix padding
It turns out that the left padding from the bspwm labels are used in
addition to the left padding from polybar, so in order for padding to be
consistent across both the left and right sections, the section with the
bspwm module needs to have its padding subtracted by the amount used by
the bspwm labels.
2018-12-05 18:06:34 -05:00
Donovan Glover
72152ad7f6
polybar: Set foreground to background-alt by default
Since basically everything uses background-alt, it's easier to make
each module inherit this property instead.
2018-12-05 17:38:42 -05:00
Donovan Glover
62619de372
polybar: Don't distinguish between empty desktops
Time will tell whether or not I keep this, but one less color makes
it easier to seamlessly integrate the bar with different color schemes.

With this change, the interface is also arguably cleaner.
2018-12-05 17:34:09 -05:00
Donovan Glover
b14e971165
polybar: Decrease bspwm label padding 2018-12-05 15:37:37 -05:00
Donovan Glover
2439706a28
polybar: Show title of focused window at center
It turns out that showing the window title is very useful for actually
using the window manager, especially with no visual indicator through
window borders to determine which one is selected.
2018-12-05 15:35:01 -05:00
Donovan Glover
1e8652d638
polybar: Remove ws-icons
This can be handled by bspwm instead.
2018-12-05 14:51:59 -05:00
Donovan Glover
1ad54203d2
meta: Add git branch information to fish prompt
If I stayed on zsh instead of switch to fish, I would've probably never
known how easy it is to add certain information to the prompt. Since
the prompt itself is just a function, you can run any commands you want
inside it to get information, including git commands.

This commit adds the current branch you're on only when inside a git
repository, and only when you're not in a tty.
2018-12-05 11:45:29 -05:00
Donovan Glover
8b12687dd8
polybar: Remove border width and window gap by default
Realistically, you use a window manager to take up all the available
space on a screen. Borders and gaps are counter-intuitive in this
regard.

Since polybar has a module that shows the title of the focused window,
using a border width even in gapless mode is no longer necessary. This
also works conveniently well with bspwm's monocle desktop layout, which
will also inherit the no-border no-gaps methodology and take up all the
available screen space.
2018-12-05 11:31:38 -05:00
Donovan Glover
f1b4f82556
polybar: Remove the no bar option
It turns out that polybar is able to provide very useful information for
window management in bspwm, so much so that disabling the bar completely
wouldn't make sense.

Since there's already a way to hide the bar (with a sxhkd keybind), and
since a "no bar" option would break this functionality even though the
hidden bar keybind produces the same result, it makes sense to remove
this.
2018-12-05 11:24:55 -05:00
Donovan Glover
7732bc7c52
docs: Update install-scripts README
In the near future the install scripts should be usable with
a single and simple command.
2018-12-04 15:15:47 -05:00
Donovan Glover
0d2bfe21f8
misc: Update docs
Some minor changes to make things a bit more consistent.
2018-12-04 15:11:41 -05:00
Donovan Glover
39e81595ad
gtk: Only show menu decoration
This removes the minimize, maximize, and close buttons from GTK
applications, since we don't use them under bspwm anyway.

Note that Qt applications should already do this, no configuration
necessary.
2018-12-04 14:53:50 -05:00
Donovan Glover
1052d8ea36
gtk: Remove cursor theme size
The cursor theme size is set based on the X cursor size, which itself is
based on the X DPI.

Note that (as far as I know) there is no easy way to change the X cursor
size without restarting the X session with the new DPI.
2018-12-04 14:26:09 -05:00
Donovan Glover
082ff6bb12
meta: Refactor install scripts
Lots of changes here with the goal of streamlining the installation
process. The install scripts work very well now, although there are
still some final changes that I would like to make (notably the removal
of the unzip requirement and the inclusion of more options to automate
the process even further).
2018-12-04 03:01:14 -05:00
Donovan Glover
da138458b7
docs: Add README for xeventbind
It turns out that the README for the xeventbind PKGBUILD actually works
very well here. On another note, I've yet to figure out how exactly I
want to document PKGBUILDs.
2018-12-04 00:25:40 -05:00
Donovan Glover
3d670565f7
meta: Add xeventbind package
This is an X-specific script that changes (mostly) everything that needs
to be changed on resolution change, with the exception of X cursor size.

Note that any programs already running are not affected. For this kind
of functionality, you probably want to use Wayland instead.
2018-12-04 00:14:09 -05:00
Donovan Glover
8b490aa2d0
fish: Remove git status -s abbreviation
It turns out that the short version of git status is not as informative
as the regular git status, making it impractical to use.
2018-12-03 18:44:09 -05:00
Donovan Glover
3b2fee629f
fish: Add git merge and git tag abbreviations 2018-12-03 12:33:24 -05:00
Donovan Glover
86573141fc
meta: Update PKGBUILDs
tari-util is no longer used, and some dependencies have been fixed.
2018-12-02 16:59:40 -05:00
Donovan Glover
69e2a52bf2
tari-web: Remove unnecessary dependencies
Since fonts and other desktop-related packages are now handled by
tari-desktop, this is no longer necessary. Note that I also created
tari-web before I figured out HiDPI support for Qt and GTK applications.
2018-12-02 16:18:12 -05:00
Donovan Glover
83598a092c
meta: Remove tari-util
I initially created tari-util as a package to be pre-built and installed
in the installation media. This was a while ago, and now that I know
exactly how the installation process and PKGBUILDs work, all the
previous issues I had with makepkg turned out to not be issues at all.
2018-12-02 15:48:11 -05:00
Donovan Glover
2935a4f007
PKGBUILDs: Clean up spacing
One dependency per line seems to be the way to go here.
2018-12-02 15:31:21 -05:00
233 changed files with 5100 additions and 6220 deletions

View File

@ -1,16 +0,0 @@
.PHONY: install
install:
@cd PKGBUILDs/${package} && makepkg -scif --noconfirm
.PHONY: update-keys
update-keys:
@sudo pacman-key --populate
@sudo pacman-key --refresh-keys
.PHONY: clean
clean:
@rm -fv **/*.pkg.tar.xz
@rm -fv **/*.xpi
@rm -fv **/*.tar.gz
@rm -fv **/*.tar.bz2
@rm -fv **/*.vim

View File

@ -1,30 +0,0 @@
# PKGBUILDs
Here are my PKGBUILDs I use on Arch Linux. Each has a specific use case. I use PKGBUILDs to know exactly what I have on my machine, and to make it easier to sync changes across multiple Arch installations.
Of course, you don't have to use **any** of these packages for your own installation, but if you want to use my setup, you probably want to use the packages I use as well.
## Getting Started
There are some **core packages** that need to be installed before anything else, listed below:
- [tari-core](/.archlinux/PKGBUILDs/tari-core) - Core packages I use for many things
- [tari-cli](/.archlinux/PKGBUILDs/tari-cli) - CLI programs that are nice to have
- [tari-desktop](/.archlinux/PKGBUILDs/tari-desktop) - Packages I use common to all desktop environments
### Add-on packages
Now that everything is installed, it's just a matter of choosing a desktop environment or window manager. Note that you can install multiple DEs and WMs at once, then switch between them with your display manager.
- [tari-gnome](/.archlinux/PKGBUILDs/tari-gnome) - The GNOME desktop environment, with GTK-related software
- [tari-plasma](/.archlinux/PKGBUILDs/tari-plasma) - The Plasma desktop environment, with Qt and KDE-related software
- [tari-bspwm](/.archlinux/PKGBUILDs/tari-bspwm) - The bspwm window manager, with optional Qt and GTK support (through `tari-gnome` and `tari-plasma`)
Other window managers exist, but may not be trivial to use in non-traditional (HiDPI) environments.
### Other packages
- [tari-scripts](/.archlinux/PKGBUILDs/tari-scripts) - Color scripts, purely for aesthetics
- [tari-util-xeventbind](/.archlinux/PKGBUILDs/tari-util-xeventbind) - Useful to change X DPI on resolution change
TODO: More to come soon...

View File

@ -1,10 +0,0 @@
pkgname=tari-bspwm
pkgver=0.1.0
pkgrel=1
pkgdesc="Packages I use specifically for bspwm."
arch=('any')
depends=(bspwm
sxhkd
dunst
compton)

View File

@ -1,20 +0,0 @@
pkgname=tari-cli
pkgver=0.1.1
pkgrel=1
pkgdesc="Packages for CLI programs I use independent of a desktop environment."
arch=('any')
depends=(mpd
mpc
ncmpcpp
htop
neofetch
fdupes
youtube-dl
ranger
weechat
ncdu
task
cmatrix
imagemagick
lolcat
figlet)

View File

@ -1,23 +0,0 @@
pkgname=tari-core
pkgver=0.2.0
pkgrel=1
pkgdesc="Core packages for my Arch setup."
arch=('any')
depends=(stow
python-pywal
rng-tools
fd
exa
ripgrep
fzf
jq
zip
unzip
p7zip
unrar
borg
openssh
openvpn)

View File

@ -1,33 +0,0 @@
pkgname=tari-desktop
pkgver=0.1.1
pkgrel=1
pkgdesc="Packages common to all my desktop setups, such as fonts."
arch=('any')
depends=(ttf-dejavu
ttf-liberation
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
ttf-hack
ttf-fira-mono
ttf-font-awesome
arc-solid-gtk-theme
arc-kde
papirus-icon-theme
lxdm-gtk3
xorg-xmodmap
xorg-xwininfo
xorg-xrandr
xorg-xinit
xdo
xcape
xdg-user-dirs
alsa-utils
mpv
feh
rofi
kitty
zathura
zathura-djvu
zathura-pdf-mupdf
code)

View File

@ -1,25 +0,0 @@
_vimplugver='0.10.0'
_httpiever='1.0.0'
pkgname=tari-dev
pkgver=0.1.1
pkgrel=1
pkgdesc="Packages I use relating to development and other things."
arch=('any')
depends=(vim neovim httpie exa fd ripgrep
fzf jq rsync git tig diff-so-fancy
tmux openssh nodejs npm yarn crystal
shards llvm rustup ansible docker docker-compose
bind-tools pacman-contrib nginx-mainline
jdk-openjdk texlive-core texlive-science
texlive-humanities texlive-fontsextra texlive-latexextra
texlive-bibtexextra minted)
source=("https://raw.githubusercontent.com/junegunn/vim-plug/${_vimplugver}/plug.vim"
"https://raw.githubusercontent.com/jakubroztocil/httpie/${_httpiever}/extras/httpie-completion.fish")
sha256sums=('01a138fc0ed99ef2678ba004613acbf8b0c51a85a8d2a1b658ef87af722e98e1'
'3d0deae85526fbb580ec35a625a043fd1c585c315ca98ac4e371b714d2d1a3ec')
package() {
install -Dm 644 plug.vim "$pkgdir"/usr/share/vim/vimfiles/autoload/plug.vim
install -Dm 644 httpie-completion.fish "$pkgdir"/usr/share/fish/vendor_completions.d/http.fish
}

View File

@ -1,29 +0,0 @@
pkgname=tari-gnome
pkgver=0.1.0
pkgrel=1
pkgdesc="Packages for my GNOME setup"
arch=('any')
depends=(gnome-shell
gnome-shell-extensions
gnome-backgrounds
gnome-control-center
evince
file-roller
nautilus
gnome-mpv
l3afpad
gthumb
lollypop
evolution
ghex
liferea
libreoffice-fresh
poedit
gnome-clocks
gnome-characters
gnome-maps
gnome-system-monitor
gnome-disk-utility
gnome-screenshot
gnome-weather
gnome-break-timer)

View File

@ -1,36 +0,0 @@
pkgname=tari-plasma
pkgver=0.1.0
pkgrel=1
pkgdesc="Packages for my Plasma setup"
arch=('any')
depends=(plasma-desktop
plasma-pa
kscreen
kleopatra
obs-studio
baka-mplayer
dolphin
ark
okular
gwenview
cantata
kwrite
kcolorchooser
kolourpaint
kmag
spectacle
kdenlive
krita
texstudio
kwave
kmplot
kalzium
kwordquiz
kollision
bovo
blinken
virtualbox
virtualbox-host-modules-arch
kimageformats
ffmpegthumbs
kdegraphics-thumbnailers)

View File

@ -1,63 +0,0 @@
#!/usr/bin/env perl
# Author: Todd Larason <jtl@molehill.org>
# $XFree86: xc/programs/xterm/vttests/256colors2.pl,v 1.2 2002/03/26 01:46:43 dickey Exp $
# use the resources for colors 0-15 - usually more-or-less a
# reproduction of the standard ANSI colors, but possibly more
# pleasing shades
# colors 16-231 are a 6x6x6 color cube
for ($red = 0; $red < 6; $red++) {
for ($green = 0; $green < 6; $green++) {
for ($blue = 0; $blue < 6; $blue++) {
printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
16 + ($red * 36) + ($green * 6) + $blue,
($red ? ($red * 40 + 55) : 0),
($green ? ($green * 40 + 55) : 0),
($blue ? ($blue * 40 + 55) : 0));
}
}
}
# colors 232-255 are a grayscale ramp, intentionally leaving out
# black and white
for ($gray = 0; $gray < 24; $gray++) {
$level = ($gray * 10) + 8;
printf("\x1b]4;%d;rgb:%2.2x/%2.2x/%2.2x\x1b\\",
232 + $gray, $level, $level, $level);
}
# display the colors
# first the system ones:
print "System colors:\n";
for ($color = 0; $color < 8; $color++) {
print "\x1b[48;5;${color}m ";
}
print "\x1b[0m\n";
for ($color = 8; $color < 16; $color++) {
print "\x1b[48;5;${color}m ";
}
print "\x1b[0m\n\n";
# now the color cube
print "Color cube, 6x6x6:\n";
for ($green = 0; $green < 6; $green++) {
for ($red = 0; $red < 6; $red++) {
for ($blue = 0; $blue < 6; $blue++) {
$color = 16 + ($red * 36) + ($green * 6) + $blue;
print "\x1b[48;5;${color}m ";
}
print "\x1b[0m ";
}
print "\n";
}
# now the grayscale ramp
print "Grayscale ramp:\n";
for ($color = 232; $color < 256; $color++) {
print "\x1b[48;5;${color}m ";
}
print "\x1b[0m\n";

View File

@ -1,42 +0,0 @@
pkgname=tari-scripts
pkgver=0.1.0
pkgrel=1
pkgdesc="Visually appealing terminal scripts."
arch=('any')
source=('colorhash' 'colorhex' 'colorline' 'colorpanes'
'diamonds' 'pipes' 'pmabove' 'pmleft'
'dna' 'colortest' '256colortest' 'colorfade'
'ghosts' 'unowns' 'spaceinvaders')
sha256sums=('506b036cfce3229c922156f06a24ed2f796baa9b640c22beca23e12c8e04a8c0'
'de4df3f590fc349e471cfe84623c2a97757e9ade90d7fab7fb2921d59ffd464a'
'4c31394d04e16c39a04ea085858ece699f5f6ac846c7438ad860d519f09701fe'
'877452eb18bd94c00f9f3172f50d3980ce0c1446f0278afff1bbf4a6208cbcf6'
'56897e603eb5146f62cdc57a9573ed7c0bf5b1662351780be83275f95568ae18'
'466249fdb33dfe7c8fb20e63dc5a6f62038bca69538f5a2a38ef6e9e3d2433b2'
'e1f7dd3aa6cd9b8e3db189c4cf50d564d6605de81a6e552d4e97b804f79748d8'
'74102548cf7ea34846538115e26e2a7600f4705a8bbd2666aea5886d0365571f'
'6ae0d2b864bd9e0f47cac4533be8c9fc45b0c15b959c97699b07b08a2ad87342'
'a78f3d2f7665f3b2b5655da399d22a6573ea8898d69e71f99ac35ba28abe6a0c'
'006e6184c77864e943c412e4bbbd55a967fa7b930514982932015f1efa6b3a7b'
'14adff147f635206c77cce73f67547f5c39ddc419b9d8c9e1fd724bea361f813'
'60958f84b7c15a37a5157953e8b409821993ad228af454d55d9a989f92a8aa44'
'861a55ef7aeb3b49e09d7d4d679032fbbd5f3e95ad4def9cef4ea63123bc2b13'
'43988542d23f1fda4c0a33cab4713fbe55466a795771a4a457f4f933668734a9')
package() {
install -Dm 755 256colortest "$pkgdir"/usr/bin/256colortest
install -Dm 755 colorfade "$pkgdir"/usr/bin/colorfade
install -Dm 755 colorhash "$pkgdir"/usr/bin/colorhash
install -Dm 755 colorhex "$pkgdir"/usr/bin/colorhex
install -Dm 755 colorline "$pkgdir"/usr/bin/colorline
install -Dm 755 colorpanes "$pkgdir"/usr/bin/colorpanes
install -Dm 755 colortest "$pkgdir"/usr/bin/colortest
install -Dm 755 diamonds "$pkgdir"/usr/bin/diamonds
install -Dm 755 dna "$pkgdir"/usr/bin/dna
install -Dm 755 ghosts "$pkgdir"/usr/bin/ghosts
install -Dm 755 pipes "$pkgdir"/usr/bin/pipes
install -Dm 755 pmabove "$pkgdir"/usr/bin/pmabove
install -Dm 755 pmleft "$pkgdir"/usr/bin/pmleft
install -Dm 755 spaceinvaders "$pkgdir"/usr/bin/spaceinvaders
install -Dm 755 unowns "$pkgdir"/usr/bin/unowns
}

View File

@ -1,40 +0,0 @@
#!/bin/sh
# ANSI Color -- use these variables to easily have different color
# and format output. Make sure to output the reset sequence after
# colors (f = foreground, b = background), and use the 'off'
# feature for anything you turn on.
# Author: pfh
initializeANSI()
{
esc=""
blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m"
yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m"
cyanf="${esc}[36m"; whitef="${esc}[37m"
blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m"
yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m"
cyanb="${esc}[46m"; whiteb="${esc}[47m"
boldon="${esc}[1m"; boldoff="${esc}[22m"
italicson="${esc}[3m"; italicsoff="${esc}[23m"
ulon="${esc}[4m"; uloff="${esc}[24m"
invon="${esc}[7m"; invoff="${esc}[27m"
reset="${esc}[0m"
}
# note in this first use that switching colors doesn't require a reset
# first - the new color overrides the old one.
initializeANSI
cat << EOF
${redf}▒▒▒▒${reset} ${boldon}${redf}▒▒${reset} ${greenf}▒▒▒▒${reset} ${boldon}${greenf}▒▒${reset} ${yellowf}▒▒▒▒${reset} ${boldon}${yellowf}▒▒${reset} ${bluef}▒▒▒▒${reset} ${boldon}${bluef}▒▒${reset} ${purplef}▒▒▒▒${reset} ${boldon}${purplef}▒▒${reset} ${cyanf}▒▒▒▒${reset} ${boldon}${cyanf}▒▒${reset}
${redf}▒▒ ■${reset} ${boldon}${redf}▒▒${reset} ${greenf}▒▒ ■${reset} ${boldon}${greenf}▒▒${reset} ${yellowf}▒▒ ■${reset} ${boldon}${yellowf}▒▒${reset} ${bluef}▒▒ ■${reset} ${boldon}${bluef}▒▒${reset} ${purplef}▒▒ ■${reset} ${boldon}${purplef}▒▒${reset} ${cyanf}▒▒ ■${reset} ${boldon}${cyanf}▒▒${reset}
${redf}▒▒ ${reset}${boldon}${redf}▒▒▒▒${reset} ${greenf}▒▒ ${reset}${boldon}${greenf}▒▒▒▒${reset} ${yellowf}▒▒ ${reset}${boldon}${yellowf}▒▒▒▒${reset} ${bluef}▒▒ ${reset}${boldon}${bluef}▒▒▒▒${reset} ${purplef}▒▒ ${reset}${boldon}${purplef}▒▒▒▒${reset} ${cyanf}▒▒ ${reset}${boldon}${cyanf}▒▒▒▒${reset}
EOF

View File

@ -1,41 +0,0 @@
#!/bin/sh
# ANSI Color -- use these variables to easily have different color
# and format output. Make sure to output the reset sequence after
# colors (f = foreground, b = background), and use the 'off'
# feature for anything you turn on.
initializeANSI()
{
esc=""
blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m"
yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m"
cyanf="${esc}[36m"; whitef="${esc}[37m"
blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m"
yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m"
cyanb="${esc}[46m"; whiteb="${esc}[47m"
boldon="${esc}[1m"; boldoff="${esc}[22m"
italicson="${esc}[3m"; italicsoff="${esc}[23m"
ulon="${esc}[4m"; uloff="${esc}[24m"
invon="${esc}[7m"; invoff="${esc}[27m"
reset="${esc}[0m"
}
# note in this first use that switching colors doesn't require a reset
# first - the new color overrides the old one.
initializeANSI
cat << EOF
${reset}${redf} ██ ██ ${reset}${boldon}${redf}██ ${reset}${greenf} ██ ██ ${reset}${boldon}${greenf}██ ${reset}${yellowf} ██ ██ ${reset}${boldon}${yellowf}██ ${reset}${bluef} ██ ██ ${reset}${boldon}${bluef}██ ${reset}${purplef} ██ ██ ${reset}${boldon}${purplef}██ ${reset}${cyanf} ██ ██ ${reset}${boldon}${cyanf}██
${reset}${redf}██████████ ${reset}${boldon}${redf}██ ${reset}${greenf}██████████ ${reset}${boldon}${greenf}██ ${reset}${yellowf}██████████ ${reset}${boldon}${yellowf}██ ${reset}${bluef}██████████ ${reset}${boldon}${bluef}██ ${reset}${purplef}██████████ ${reset}${boldon}${purplef}██ ${reset}${cyanf}██████████ ${reset}${boldon}${cyanf}██
${reset}${redf} ██ ██ ${reset}${boldon}${redf}██ ${reset}${greenf} ██ ██ ${reset}${boldon}${greenf}██ ${reset}${yellowf} ██ ██ ${reset}${boldon}${yellowf}██ ${reset}${bluef} ██ ██ ${reset}${boldon}${bluef}██ ${reset}${purplef} ██ ██ ${reset}${boldon}${purplef}██ ${reset}${cyanf} ██ ██ ${reset}${boldon}${cyanf}██
${reset}${redf}██████████ ${reset}${greenf}██████████ ${reset}${yellowf}██████████ ${reset}${bluef}██████████ ${reset}${purplef}██████████ ${reset}${cyanf}██████████
${reset}${redf} ██ ██ ${reset}${boldon}${redf}██ ${reset}${greenf} ██ ██ ${reset}${boldon}${greenf}██ ${reset}${yellowf} ██ ██ ${reset}${boldon}${yellowf}██ ${reset}${bluef} ██ ██ ${reset}${boldon}${bluef}██ ${reset}${purplef} ██ ██ ${reset}${boldon}${purplef}██ ${reset}${cyanf} ██ ██ ${reset}${boldon}${cyanf}██
${reset}
EOF

View File

@ -1,10 +0,0 @@
#!/bin/bash
colors=($(xrdb -query | sed -n 's/.*color\([0-9]\)/\1/p' | sort -nu | cut -f2))
echo -e "\e[1;37m
Red Green Yellow Blue Magenta Cyan White
─────────────────────────────────────────────────────────────\e[0m"
for i in {1..7}; do echo -en "\e[$((30+$i))m ${colors[i]} \e[0m"; done
echo
for i in {9..15}; do echo -en "\e[1;$((22+$i))m ${colors[i]} \e[0m"; done
echo -e "\n"

View File

@ -1,24 +0,0 @@
#!/usr/bin/env bash
# set colors
colors=($(xrdb -query | sed -n 's/.*color\([0-9]\)/\1/p' | sort -nu | cut -f2))
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
t=$'\e[0m'
# output
cat << EOF
$f1▀▀▀▀▀▀▀$t $f2▀▀▀▀▀▀▀$t $f3▀▀▀▀▀▀▀$t $f4▀▀▀▀▀▀▀$t $f5▀▀▀▀▀▀▀$t $f6▀▀▀▀▀▀▀$t $f7▀▀▀▀▀▀▀$t
EOF
for i in {1..7}; do echo -en "\e[$((30+$i))m${colors[i]} \e[0m "; done
echo
echo

View File

@ -1,23 +0,0 @@
#!/usr/bin/env bash
# Author: GekkoP
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
d=$'\e[1m'
t=$'\e[0m'
v=$'\e[7m'
cat << EOF
$f1████$d▄$t $f2████$d▄$t $f3████$d▄$t $f4████$d▄$t $f5████$d▄$t $f6████$d▄$t $f7████$d▄$t
$f1████$d█$t $f2████$d█$t $f3████$d█$t $f4████$d█$t $f5████$d█$t $f6████$d█$t $f7████$d█$t
$f1████$d█$t $f2████$d█$t $f3████$d█$t $f4████$d█$t $f5████$d█$t $f6████$d█$t $f7████$d█$t
$d$f1 ▀▀▀▀ $f2▀▀▀▀ $f3▀▀▀▀ $f4▀▀▀▀ $f5▀▀▀▀ $f6▀▀▀▀ $f7▀▀▀▀$t
EOF

View File

@ -1,30 +0,0 @@
#!/usr/bin/env bash
# Daniel Crisman's ANSI color chart script from
# The Bash Prompt HOWTO: 6.1. Colours
# http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html
#
# This function echoes a bunch of color codes to the
# terminal to demonstrate what's available. Each
# line is the color code of one forground color,
# out of 17 (default + 16 escapes), followed by a
# test use of that color on all nine background
# colors (default + 8 escapes).
T='•••' # The text for the color test
echo -e "\n def 40m 41m 42m 43m 44m 45m 46m 47m";
for FGs in ' m' ' 1m' ' 30m' '1;30m' ' 31m' '1;31m' ' 32m' \
'1;32m' ' 33m' '1;33m' ' 34m' '1;34m' ' 35m' '1;35m' \
' 36m' '1;36m' ' 37m' '1;37m';
do FG=${FGs// /}
echo -en " $FGs \033[$FG $T "
for BG in 40m 41m 42m 43m 44m 45m 46m 47m;
do echo -en "$EINS \033[$FG\033[$BG $T \033[0m";
done
echo;
done
echo

View File

@ -1,207 +0,0 @@
#!/bin/bash
# Animated pipes.sh terminal screensaver at an angle.
# Copyright (c) 2013-2015 Yu-Jie Lin
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
#
# Website: https://github.com/pipeseroni/pipesX.sh
VERSION=1.1.0
W=$(tput cols) H=$(tput lines)
# maximal random value + 1
M=32768
SETS=('╱╲' '/\' '..' 'oo' '\/')
COLORS=(31 32 33 34 35 36 37)
# default values
N=5
T=()
I=0.05
P=25
R=$((W * H / 4))
HELP="Usage: $(basename $0) [OPTIONS]
Animated pipes.sh terminal screensaver at an angle.
Options:
-n [1-] number of pipes. (Default: $N)
-t [0-$((${#SETS[@]} - 1))] types of pipes, can be used more than once. (Default: $T)
-t c[2chs] custom type of pipes.
-i [float] piping interval or maze generation interval. (Default: $I)
-P [0-100] probability of a turning pipe or of \\ in maze generation. (Default: $P)
-r [LIMIT] reset after x characters, 0 if no limit. (Default: $R)
-R random starting point.
-C no color.
-X maze generation.
-h this help message.
-v print version number.
"
while getopts "n:t:i:P:r:RCXhv" arg; do
case $arg in
n)
((N = OPTARG > 0 ? OPTARG : N))
;;
t)
if [[ "$OPTARG" = c?? ]]; then
T+=(${#SETS[@]})
SETS+=("${OPTARG:1}")
else
T+=($(((OPTARG >= 0 && OPTARG < ${#SETS[@]}) ? OPTARG : T)))
fi
;;
i)
I=$OPTARG
;;
P)
((P = (OPTARG >= 0 && OPTARG <= 100) ? OPTARG : P))
;;
r)
((R = OPTARG >= 0 ? OPTARG : R))
;;
R)
RNDSTART=1
;;
C)
NOCOLOR=1
;;
X)
MAZE=1
;;
h)
echo -e "$HELP"
exit 0
;;
v)
echo "$(basename -- "$0") $VERSION"
exit 0
esac
done
# set to default values if not by options
((${#T[@]})) || T=(0)
do_exit() {
# clear up standard input
read -t 0.001 && cat </dev/stdin>/dev/null
# terminal has no smcup and rmcup capabilities
((FORCE_RESET)) && reset && exit 0
tput rmcup
tput cnorm
stty echo
((NOCOLOR)) && echo -ne '\e[0m'
exit 0
}
trap do_exit HUP TERM
trap 'break 2' INT
# No echo stdin and hide the cursor
stty -echo
tput smcup || FORCE_RESET=1
tput civis
tput clear
# maze geneartion
while [[ $MAZE ]] && clear; do
[[ $NOCOLOR ]] || echo -ne "\e[1;${COLORS[${#COLORS[@]} * RANDOM / M]}m"
for ((i = 0; i < W * H; i++ )); do
echo -ne ${SETS[T]:100 * RANDOM / M < P:1}
done
read -t $I -n 1 && [[ $REPLY =~ q|Q ]] && do_exit
done
# initialze values
for ((n = 0; n < N; n++)); do
((X[n] = RNDSTART ? (W + 2) * RANDOM / M : W / 2))
((Y[n] = RNDSTART ? (H + 2) * RANDOM / M : H / 2))
D[n]=$((4 * RANDOM / M))
C[n]=${COLORS[${#COLORS[@]} * RANDOM / M]}
t[n]=${T[${#T[@]} * RANDOM / M]}
done
clear
while REPLY=; read -t $I -n 1; [[ -z $REPLY ]] ; do
for ((n = 0; n < N; n++, CC = 0)); do
x=${X[n]} y=${Y[n]}
d=${D[n]} c=${C[n]}
# calculate new direction `d`
# 1 0
# \/ 4 directions 0 to 3
# /\
# 2 3
# valid directions: d: dd', d' is the new direction
# d
# 0: / 00 \ 01 03
# / / /\
# 1: / 10 \ 11 12
# \ \ /\
# 2: \/ 21 / 22 / 23
# / \
# 3: \/ 30 \ 32 \ 33
# / \
((d = (100 * RANDOM / M) < P ? ((d + 1) + 2 * (RANDOM % 2)) % 4 : d))
((e = (d + 1) % 4))
# calculate new position
# d' x' y'
# 0: x+1 y-1
# 1: x-1 y-1
# 2: x-1 y+1
# 3: x+1 y+1
((xn = e < 2 ? x + 1 : x - 1))
((yn = d < 2 ? y - 1 : y + 1))
# adjust position and change color?
((d < 2 && y == 0)) && ((yn--, CC=1))
((e > 1 && x == 0)) && ((xn--, CC=1))
((d > 1 && y == H)) && ((yn++, CC=1))
((e < 2 && x == W)) && ((xn++, CC=1))
((CC)) && c=${COLORS[${#COLORS[@]} * RANDOM / M]}
((CC)) && t[n]=${T[${#T[@]} * RANDOM / M]}
# warp pipe
((xn = (xn + W + 1) % (W + 1)))
((yn = (yn + H + 1) % (H + 1)))
# calculate position in terminal
# d' xt yt
# 0: x' y'+1
# 1: x'+1 y'+1
# 2: x'+1 y'
# 3: x' y'
((xt = e < 2 ? xn : xn + 1))
((yt = d < 2 ? yn + 1 : yn))
echo -ne "\e[${yt};${xt}H"
[[ $NOCOLOR ]] || echo -ne "\e[1;${c}m"
echo -n "${SETS[t[n]]:d%2:1}"
X[n]=$xn Y[n]=$yn
D[n]=$d C[n]=$c
done
((R)) && ((r += N, r >= R)) && r=0 && clear
done
do_exit

View File

@ -1,43 +0,0 @@
#!/usr/bin/env bash
# ANSI color scheme script by pfh
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
bld=$'\e[1m'
rst=$'\e[0m'
inv=$'\e[7m'
cat << EOF
$f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst
$f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst
$f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst
$f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst
$f1$bld█-$rst$f1█$rst $f2$bld█_$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst
$f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst
$f1$bld█-----$rst$f1█$rst $f2$bld█-----$rst$f2█$rst $f3$bld█-----$rst$f3█$rst $f4$bld█-----$rst$f4█$rst $f5$bld█-----$rst$f5█$rst $f6$bld█-----$rst$f6█$rst
$f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst
$f1$bld█-$rst$f1█$rst $f2$bld█-$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst
$f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst
$f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst
$f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst
$f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst
$f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst
$f1 █-$bld█$rst $f2 █-$bld█$rst $f3 █-$bld█$rst $f4 █-$bld█$rst $f5 █-$bld█$rst $f6 █-$bld█$rst
$f1█$rst $f2█$rst $f3█$rst $f4█$rst $f5█$rst $f6█$rst
$f1$bld█-$rst$f1█$rst $f2$bld█_$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst
$f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst
$f1$bld█-----$rst$f1█$rst $f2$bld█-----$rst$f2█$rst $f3$bld█-----$rst$f3█$rst $f4$bld█-----$rst$f4█$rst $f5$bld█-----$rst$f5█$rst $f6$bld█-----$rst$f6█$rst
$f1$bld█---$rst$f1█$rst $f2$bld█---$rst$f2█$rst $f3$bld█---$rst$f3█$rst $f4$bld█---$rst$f4█$rst $f5$bld█---$rst$f5█$rst $f6$bld█---$rst$f6█$rst
$f1$bld█-$rst$f1█$rst $f2$bld█-$rst$f2█$rst $f3$bld█-$rst$f3█$rst $f4$bld█-$rst$f4█$rst $f5$bld█-$rst$f5█$rst $f6$bld█-$rst$f6█$rst
$f1$bld█$rst $f2$bld█$rst $f3$bld█$rst $f4$bld█$rst $f5$bld█$rst $f6$bld█$rst
$f1█-$bld█$rst $f2█-$bld█$rst $f3█-$bld█$rst $f4█-$bld█$rst $f5█-$bld█$rst $f6█-$bld█$rst
$f1█---$bld█$rst $f2█---$bld█$rst $f3█---$bld█$rst $f4█---$bld█$rst $f5█---$bld█$rst $f6█---$bld█$rst
$f1█-----$bld█ $rst$f2█-----$bld█$rst $f3█-----$bld█$rst $f4█-----$bld█$rst $f5█-----$bld█$rst $f6█-----$bld█$rst
EOF

View File

@ -1,28 +0,0 @@
#!/usr/bin/env bash
# ANSI color scheme script by pfh
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
bld=$'\e[1m'
rst=$'\e[0m'
inv=$'\e[7m'
cat << EOF
$f1 ▄▄▄ $f2 ▄▄▄ $f3 ▄▄▄ $f4 ▄▄▄ $f5 ▄▄▄ $f6 ▄▄▄
$f1 ▀█▀██ ▄ $f2 ▀█▀██ ▄ $f3 ▀█▀██ ▄ $f4 ▀█▀██ ▄ $f5 ▀█▀██ ▄ $f6 ▀█▀██ ▄
$f1 ▀▄██████▀ $f2 ▀▄██████▀ $f3 ▀▄██████▀ $f4 ▀▄██████▀ $f5 ▀▄██████▀ $f6 ▀▄██████▀
$f1 ▀█████ $f2 ▀█████ $f3 ▀█████ $f4 ▀█████ $f5 ▀█████ $f6 ▀█████
$f1 ▀▀▀▀▄ $f2 ▀▀▀▀▄ $f3 ▀▀▀▀▄ $f4 ▀▀▀▀▄ $f5 ▀▀▀▀▄ $f6 ▀▀▀▀▄
$bld
$f1 ▄▄▄ $f2 ▄▄▄ $f3 ▄▄▄ $f4 ▄▄▄ $f5 ▄▄▄ $f6 ▄▄▄
$f1 ▀█▀██ ▄ $f2 ▀█▀██ ▄ $f3 ▀█▀██ ▄ $f4 ▀█▀██ ▄ $f5 ▀█▀██ ▄ $f6 ▀█▀██ ▄
$f1 ▀▄██████▀ $f2 ▀▄██████▀ $f3 ▀▄██████▀ $f4 ▀▄██████▀ $f5 ▀▄██████▀ $f6 ▀▄██████▀
$f1 ▀█████ $f2 ▀█████ $f3 ▀█████ $f4 ▀█████ $f5 ▀█████ $f6 ▀█████
$f1 ▀▀▀▀▄ $f2 ▀▀▀▀▄ $f3 ▀▀▀▀▄ $f4 ▀▀▀▀▄ $f5 ▀▀▀▀▄ $f6 ▀▀▀▀▄
$rst
EOF

View File

@ -1,142 +0,0 @@
#!/usr/bin/env bash
# pipes.sh: Animated pipes terminal screensaver.
# Copyleft (ↄ) 2015 - Acidhub <acidhub@craft.net.br>
# 2015 - Pipeseroni - http://github.com/pipeseroni
# 2014 - Yu-Jie Lin <livibetter@gmail.com>
# ???? - Mathew Simpson
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
VERSION=1.2
M=32768
p=3
f=75 s=13 r=2000 t=0
w=$(tput cols) h=$(tput lines)
# ab -> idx = a*4 + b
# 0: up, 1: right, 2: down, 3: left
# 00 means going up , then going up -> ┃
# 12 means going right, then going down -> ┓
sets=(
"┃┏ ┓┛━┓ ┗┃┛┗ ┏━" # -t 0 "default"
"│╭ ╮╯─╮ ╰│╯╰ ╭─" # -t 1 "round"
"│┌ ┐┘─┐ └│┘└ ┌─" # -t 2 "weak"
"║╔ ╗╝═╗ ╚║╝╚ ╔═" # -t 3 "double"
"|+ ++-+ +|++ +-" # -t 4 "add/sub"
"|/ \/-\ \|/\ /-" # -t 5 "It' something"
".. .... .... .." # -t 6 "dots"
".o oo.o o.oo o." # -t 7 "dot-O"
"-\ /\|/ /-\/ \|" # -t 8 "railway"
"▓≡▓≡≡▓≡ ≡▓≡≡▓≡▓" # -t 9 "blocks"
)
v=()
RNDSTART=0
BOLD=1
NOCOLOR=0
OPTIND=1
while getopts "p:t:f:s:r:RBChv" arg; do
case $arg in
p) ((p=(OPTARG>0)?OPTARG:p));;
t)
if [[ "$OPTARG" = c???????????????? ]]; then
V+=(${#sets[@]})
sets+=("${OPTARG:1}")
else
((OPTARG>=0 && OPTARG<${#sets[@]})) && V+=($OPTARG)
fi
;;
f) ((f=(OPTARG>19 && OPTARG<101)?OPTARG:f));;
s) ((s=(OPTARG>4 && OPTARG<16 )?OPTARG:s));;
r) ((r=(OPTARG>=0)?OPTARG:r));;
R) RNDSTART=1;;
B) BOLD=0;;
C) NOCOLOR=1;;
h) echo -e "Usage: $(basename $0) [OPTION]..."
echo -e "Animated pipes terminal screensaver.\n"
echo -e " -p [1-?]\tnumber of pipes (D=3)."
echo -e " -t [0-$((${#sets[@]} - 1))]\ttype of pipes, can be used more than once (D=0)."
echo -e " -t c[16 chars]\tcustom type of pipes."
echo -e " -f [20-100]\tframerate (D=75)."
echo -e " -s [5-15]\tprobability of a straight fitting (D=13)."
echo -e " -r LIMIT\treset after x characters, 0 if no limit (D=2000)."
echo -e " -R \t\trandom starting point."
echo -e " -B \t\tno bold effect."
echo -e " -C \t\tno color."
echo -e " -h\t\thelp (this screen)."
echo -e " -v\t\tprint version number.\n"
exit 0;;
v) echo "$(basename -- "$0") $VERSION"
exit 0
esac
done
# set default values if not by options
((${#V[@]})) || V=(0)
cleanup() {
# clear up standard input
read -t 0.001 && cat </dev/stdin>/dev/null
# terminal has no smcup and rmcup capabilities
((FORCE_RESET)) && reset && exit 0
tput rmcup
tput cnorm
stty echo
((NOCOLOR)) && echo -ne '\e[0m'
exit 0
}
trap cleanup HUP TERM
trap 'break 2' INT
for (( i=1; i<=p; i++ )); do
c[i]=$((i%8)) n[i]=0 l[i]=0
((x[i]=RNDSTART==1?RANDOM*w/32768:w/2))
((y[i]=RNDSTART==1?RANDOM*h/32768:h/2))
v[i]=${V[${#V[@]} * RANDOM / M]}
done
stty -echo
tput smcup || FORCE_RESET=1
tput civis
tput clear
# any key press exits the loop and this script
while REPLY=; read -t 0.0$((1000/f)) -n 1; [[ -z $REPLY ]] ; do
for (( i=1; i<=p; i++ )); do
# New position:
((${l[i]}%2)) && ((x[i]+=-${l[i]}+2,1)) || ((y[i]+=${l[i]}-1))
# Loop on edges (change color on loop):
((${x[i]}>w||${x[i]}<0||${y[i]}>h||${y[i]}<0)) && ((c[i]=RANDOM%8, v[i]=V[${#V[@]}*RANDOM/M]))
((x[i]=(x[i]+w)%w))
((y[i]=(y[i]+h)%h))
# New random direction:
((n[i]=RANDOM%s-1))
((n[i]=(${n[i]}>1||${n[i]}==0)?${l[i]}:${l[i]}+${n[i]}))
((n[i]=(${n[i]}<0)?3:${n[i]}%4))
# Print:
tput cup ${y[i]} ${x[i]}
echo -ne "\e[${BOLD}m"
[[ $NOCOLOR == 0 ]] && echo -ne "\e[3${c[i]}m"
echo -n "${sets[v[i]]:l[i]*4+n[i]:1}"
l[i]=${n[i]}
done
((r>0 && t*p>=r)) && tput reset && tput civis && t=0 || ((t++))
done
cleanup

View File

@ -1,31 +0,0 @@
#!/usr/bin/env bash
# Author: pfh
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
bld=$'\e[1m'
rst=$'\e[0m'
inv=$'\e[7m'
cat << EOF
$rst
$f3 ▄███████▄ $f1 ▄██████▄ $f2 ▄██████▄ $f4 ▄██████▄ $f5 ▄██████▄ $f6 ▄██████▄
$f3▄█████████▀▀ $f1▄$f7█▀█$f1██$f7█▀█$f1██▄ $f2▄█$f7███$f2██$f7███$f2█▄ $f4▄█$f7███$f4██$f7███$f4█▄ $f5▄█$f7███$f5██$f7███$f5█▄ $f6▄██$f7█▀█$f6██$f7█▀█$f6▄
$f3███████▀ $f7▄▄ ▄▄ ▄▄ $f1█$f7▄▄█$f1██$f7▄▄█$f1███ $f2██$f7█ █$f2██$f7█ █$f2██ $f4██$f7█ █$f4██$f7█ █$f4██ $f5██$f7█ █$f5██$f7█ █$f5██ $f6███$f7█▄▄$f6██$f7█▄▄$f6█
$f3███████▄ $f7▀▀ ▀▀ ▀▀ $f1████████████ $f2████████████ $f4████████████ $f5████████████ $f6████████████
$f3▀█████████▄▄ $f1██▀██▀▀██▀██ $f2██▀██▀▀██▀██ $f4██▀██▀▀██▀██ $f5██▀██▀▀██▀██ $f6██▀██▀▀██▀██
$f3 ▀███████▀ $f1▀ ▀ ▀ ▀ $f2▀ ▀ ▀ ▀ $f4▀ ▀ ▀ ▀ $f5▀ ▀ ▀ ▀ $f6▀ ▀ ▀ ▀
$bld
$f3 ▄███████▄ $f1 ▄██████▄ $f2 ▄██████▄ $f4 ▄██████▄ $f5 ▄██████▄ $f6 ▄██████▄
$f3▄█████████▀▀ $f1▄$f7█▀█$f1██$f7█▀█$f1██▄ $f2▄█$f7█ █$f2██$f7█ █$f2█▄ $f4▄█$f7█ █$f4██$f7█ █$f4█▄ $f5▄█$f7█ █$f5██$f7█ █$f5█▄ $f6▄██$f7█▀█$f6██$f7█▀█$f6▄
$f3███████▀ $f7▄▄ ▄▄ ▄▄ $f1█$f7▄▄█$f1██$f7▄▄█$f1███ $f2██$f7███$f2██$f7███$f2██ $f4██$f7███$f4██$f7███$f4██ $f5██$f7███$f5██$f7███$f5██ $f6███$f7█▄▄$f6██$f7█▄▄$f6█
$f3███████▄ $f7▀▀ ▀▀ ▀▀ $f1████████████ $f2████████████ $f4████████████ $f5████████████ $f6████████████
$f3▀█████████▄▄ $f1██▀██▀▀██▀██ $f2██▀██▀▀██▀██ $f4██▀██▀▀██▀██ $f5██▀██▀▀██▀██ $f6██▀██▀▀██▀██
$f3 ▀███████▀ $f1▀ ▀ ▀ ▀ $f2▀ ▀ ▀ ▀ $f4▀ ▀ ▀ ▀ $f5▀ ▀ ▀ ▀ $f6▀ ▀ ▀ ▀
$rst
EOF

View File

@ -1,41 +0,0 @@
#!/bin/sh
initializeANSI()
{
esc=""
blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m"
yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m"
cyanf="${esc}[36m"; whitef="${esc}[37m"
blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m"
yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m"
cyanb="${esc}[46m"; whiteb="${esc}[47m"
boldon="${esc}[1m"; boldoff="${esc}[22m"
italicson="${esc}[3m"; italicsoff="${esc}[23m"
ulon="${esc}[4m"; uloff="${esc}[24m"
invon="${esc}[7m"; invoff="${esc}[27m"
reset="${esc}[0m"
}
initializeANSI
cat << EOF
${yellowf} ▄███████▄${reset} ${redf} ▄██████▄${reset} ${greenf} ▄██████▄${reset} ${bluef} ▄██████▄${reset} ${purplef} ▄██████▄${reset} ${cyanf} ▄██████▄${reset}
${yellowf}▄█████████▀▀${reset} ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄${reset} ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄${reset} ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄${reset} ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄${reset} ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset}
${yellowf}███████▀${reset} ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███${reset} ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███${reset} ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███${reset} ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███${reset} ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset}
${yellowf}███████▄${reset} ${redf}████████████${reset} ${greenf}████████████${reset} ${bluef}████████████${reset} ${purplef}████████████${reset} ${cyanf}████████████${reset}
${yellowf}▀█████████▄▄${reset} ${redf}██▀██▀▀██▀██${reset} ${greenf}██▀██▀▀██▀██${reset} ${bluef}██▀██▀▀██▀██${reset} ${purplef}██▀██▀▀██▀██${reset} ${cyanf}██▀██▀▀██▀██${reset}
${yellowf} ▀███████▀${reset} ${redf}▀ ▀ ▀ ▀${reset} ${greenf}▀ ▀ ▀ ▀${reset} ${bluef}▀ ▀ ▀ ▀${reset} ${purplef}▀ ▀ ▀ ▀${reset} ${cyanf}▀ ▀ ▀ ▀${reset}
${boldon}${yellowf} ▄███████▄ ${redf} ▄██████▄ ${greenf} ▄██████▄ ${bluef} ▄██████▄ ${purplef} ▄██████▄ ${cyanf} ▄██████▄${reset}
${boldon}${yellowf}▄█████████▀▀ ${redf}▄${whitef}█▀█${redf}██${whitef}█▀█${redf}██▄ ${greenf}▄${whitef}█▀█${greenf}██${whitef}█▀█${greenf}██▄ ${bluef}▄${whitef}█▀█${bluef}██${whitef}█▀█${bluef}██▄ ${purplef}▄${whitef}█▀█${purplef}██${whitef}█▀█${purplef}██▄ ${cyanf}▄${whitef}█▀█${cyanf}██${whitef}█▀█${cyanf}██▄${reset}
${boldon}${yellowf}███████▀ ${redf}█${whitef}▄▄█${redf}██${whitef}▄▄█${redf}███ ${greenf}█${whitef}▄▄█${greenf}██${whitef}▄▄█${greenf}███ ${bluef}█${whitef}▄▄█${bluef}██${whitef}▄▄█${bluef}███ ${purplef}█${whitef}▄▄█${purplef}██${whitef}▄▄█${purplef}███ ${cyanf}█${whitef}▄▄█${cyanf}██${whitef}▄▄█${cyanf}███${reset}
${boldon}${yellowf}███████▄ ${redf}████████████ ${greenf}████████████ ${bluef}████████████ ${purplef}████████████ ${cyanf}████████████${reset}
${boldon}${yellowf}▀█████████▄▄ ${redf}██▀██▀▀██▀██ ${greenf}██▀██▀▀██▀██ ${bluef}██▀██▀▀██▀██ ${purplef}██▀██▀▀██▀██ ${cyanf}██▀██▀▀██▀██${reset}
${boldon}${yellowf} ▀███████▀ ${redf}▀ ▀ ▀ ▀ ${greenf}▀ ▀ ▀ ▀ ${bluef}▀ ▀ ▀ ▀ ${purplef}▀ ▀ ▀ ▀ ${cyanf}▀ ▀ ▀ ▀${reset}
EOF

View File

@ -1,35 +0,0 @@
#!/usr/bin/env bash
# ANSI color scheme script featuring Space Invaders
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[${!j}${i}m"
done
done
bld=$'\e[1m'
rst=$'\e[0m'
cat << EOF
$f1 ▀▄ ▄▀ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4 ▀▄ ▄▀ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst
$f1 ▄█▀███▀█▄ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4 ▄█▀███▀█▄ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst
$f1█▀███████▀█ $f2▀▀███▀▀███▀▀ $f3▀█▀██▀█▀ $f4█▀███████▀█ $f5▀▀███▀▀███▀▀ $f6▀█▀██▀█▀$rst
$f1▀ ▀▄▄ ▄▄▀ ▀ $f2 ▀█▄ ▀▀ ▄█▀ $f3▀▄ ▄▀ $f4▀ ▀▄▄ ▄▄▀ ▀ $f5 ▀█▄ ▀▀ ▄█▀ $f6▀▄ ▄▀$rst
$bld$f1▄ ▀▄ ▄▀ ▄ $f2 ▄▄▄████▄▄▄ $f3 ▄██▄ $f4▄ ▀▄ ▄▀ ▄ $f5 ▄▄▄████▄▄▄ $f6 ▄██▄ $rst
$bld$f1█▄█▀███▀█▄█ $f2███▀▀██▀▀███ $f3▄█▀██▀█▄ $f4█▄█▀███▀█▄█ $f5███▀▀██▀▀███ $f6▄█▀██▀█▄$rst
$bld$f1▀█████████▀ $f2▀▀▀██▀▀██▀▀▀ $f3▀▀█▀▀█▀▀ $f4▀█████████▀ $f5▀▀▀██▀▀██▀▀▀ $f6▀▀█▀▀█▀▀$rst
$bld$f1 ▄▀ ▀▄ $f2▄▄▀▀ ▀▀ ▀▀▄▄ $f3▄▀▄▀▀▄▀▄ $f4 ▄▀ ▀▄ $f5▄▄▀▀ ▀▀ ▀▀▄▄ $f6▄▀▄▀▀▄▀▄$rst
$f7▌$rst
$f7▌$rst
$f7 ▄█▄ $rst
$f7▄█████████▄$rst
$f7▀▀▀▀▀▀▀▀▀▀▀$rst
EOF

View File

@ -1,64 +0,0 @@
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
__author__ = 'actionless'
import random
unowns = [[
' ▀█▀▀▀█▀ ',
' ▄▀▀▀▄ ',
' ▀▄ ▀ ▄▀ ',
' ▀█▀ ',
' ▄█▄▄▄▄ ',
], [
' █▄ █ ',
' █ ▀▄▀▀▀▄ █ ',
' █ ▀▄ ▀ ▄▀ █ ',
' █ ▀▀▀ ▀▄█ ',
' ▀ ▀ ',
], [
' ▀▀▀█▀▀▀ ',
' ▄▀▀▀▄ ',
' ▀▄ ▀ ▄▀ ',
' ▀▀▀ ',
' ',
], [
' ▀▄ ▄▀ ',
' ▀▄▀▀▀▄▀ ',
' ▀▄ ▀ ▄▀ ',
' ▄▀ ▀▀▀ ▀▄ ',
' ▀ ▀ ',
], [
' █▀▀▄ ',
' ▄▀▀▀▄ ▀▄ ',
' ▀▄ ▀ ▄▀ █ ',
' ▀▀▀ ▄▀ ',
' ▀▀▀ ',
], [
' ▀▄ ▄▀ ',
' ▄▀▀▀▄ ',
' ▀▄ ▀ ▄▀ ',
' ▀█▀ ',
' ▄▀▄ ',
]]
print("")
for mode in ['normal', 'bold']:
random.shuffle(unowns)
if mode == 'bold':
print("\033[1m")
print(
'\n'.join([
''.join([
"\033[03{n}m{string}".format(
n=color_number + 1,
string=unowns[color_number][line_number]
)
for color_number in range(6)])
for line_number in range(5)])
)
# reset font:
print("\033[0m")

View File

@ -1,21 +0,0 @@
The MIT License (MIT)
Copyright (c) 2016 Olaf Tomalka
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@ -1,17 +0,0 @@
CC=gcc
CFLAGS=-O2
LIBS=-lX11
OBJ=main.o xeb_handler.o
.PHONY: all clean
all: xeventbind
xeventbind: $(OBJ)
$(CC) -o $@ $^ $(LIBS) $(CFLAGS)
%.o: %.c
$(CC) -c -o $@ $< $(CLAGS)
clean:
rm -f xeventbind *.o

View File

@ -1,25 +0,0 @@
pkgname=tari-util-xeventbind
pkgver=0.1.0
pkgrel=2
pkgdesc="Run a script on resolution change"
arch=('any')
license=('MIT')
provides=('xeventbind')
conflicts=('xeventbind')
depends=('libx11')
source=('xeb_event_types.h' 'xeb_handler.c' 'xeb_handler.h' 'main.c' 'Makefile' 'LICENSE')
sha256sums=('5e55b56bc1fc281d2549bb892a1a7e93f5eb7cb7ff88d3216345907456d02801'
'9a26c895d79244c76e3c9b5842dab6e6d4b628842f6f63a3001d4563c253a28b'
'b57396a210fde7858928c1e44febd1cecc2aa715b58ca11590afddc5aa3d7a75'
'1d44006d8e14ebd062415a8f20d746fe8771eacf5165d3064f20401b9ddca32d'
'420ee5dc1349c226423bf009a71a3f0b0b33456ffdf35d682fc12ee5b4dd207f'
'e219b161877df1f1986c4e79794fde8b6cb209da7bc4b4442b925da0d7fd93ee')
build() {
make
}
package() {
install -Dm 755 xeventbind "$pkgdir"/usr/bin/xeventbind
install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/xeventbind/LICENSE
}

View File

@ -1,13 +0,0 @@
# tari-util-xeventbind
[xeventbind][xeventbind] is used to run a script on resolution change.
xeventbind can be used to:
- Change the X DPI for specific resolutions, useful, for example, if you switch between traditional and HiDPI displays often
You should not use xeventbind if:
- You don't change resolutions often or don't need to run anything on resolution change
[xeventbind]: https://github.com/ritave/xeventbind

View File

@ -1,107 +0,0 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2016 Olaf Tomalka
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <assert.h>
#include "xeb_event_types.h"
#include "xeb_handler.h"
struct arguments {
xeb_event_type event_type;
char *script_path;
};
struct event_map {
char *str;
xeb_event_type event;
};
static struct event_map mapping[] = {
{"resolution", ResolutionChange}
};
void print_usage(char *path) {
fprintf(stderr, "Usage: %s event_type script_path\n", path);
fprintf(stderr, "Event types:\n");
size_t mapping_size = sizeof(mapping) / sizeof(mapping[0]);
for (int i = 0; i < mapping_size; i++) {
fprintf(stderr, "\t%s\n", mapping[i].str);
}
exit(EXIT_FAILURE);
}
void parse_args(int argc, char** argv, struct arguments *args) {
if (argc != 3)
print_usage(argv[0]);
size_t mapping_size = sizeof(mapping) / sizeof(mapping[0]);
int found = 0;
for (int i = 0; i < mapping_size; i++) {
if (strcmp(argv[1], mapping[i].str) == 0) {
found = 1;
args->event_type = mapping[i].event;
break;
}
}
if (!found)
print_usage(argv[0]);
args->script_path = argv[2];
}
int handle_callback(xeb_event_type event, void *data) {
assert(data);
struct arguments *args = data;
assert(args->event_type == event);
pid_t pid = fork();
int err;
switch (pid) {
case -1:
perror("Failed to fork\n");
exit(EXIT_FAILURE);
break;
case 0: // Child
err = execlp(args->script_path, NULL);
if (err == -1) {
perror("Failed to open callback script\n");
exit(EXIT_FAILURE);
}
break;
}
}
int main(int argc, char **argv) {
struct arguments args;
int err;
parse_args(argc, argv, &args);
xeb_add_callback(args.event_type, handle_callback, &args);
return xeb_loop() ? EXIT_FAILURE : EXIT_SUCCESS;
}

View File

@ -1,31 +0,0 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2016 Olaf Tomalka
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#ifndef _XEVENTBIND_EVENT_TYPES_H
#define _XEVENTBIND_EVENT_TYPES_H
typedef enum {
ResolutionChange
} xeb_event_type;
#endif

View File

@ -1,131 +0,0 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2016 Olaf Tomalka
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#include <assert.h>
#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "xeb_handler.h"
struct callback_data {
xeb_callback func;
void *data;
xeb_event_type event;
};
struct dimensions {
int width, height;
};
static struct callback_data *callbacks = NULL;
static int callbacks_count = 0;
static int callbacks_capacity = 0;
static void ensure_enough_callback_space(void) {
if (callbacks_count == 0)
return;
if (callbacks_capacity == 0) {
callbacks = malloc(callbacks_count * sizeof(struct callback_data));
callbacks_capacity = callbacks_count;
} else if (callbacks_count > callbacks_capacity) {
int new_size = callbacks_capacity;
while (new_size < callbacks_count)
new_size *= 2;
callbacks_capacity = new_size;
struct callback_dat *new_call = realloc(
callbacks,
callbacks_capacity * sizeof(struct callback_data));
if (new_call == NULL) {
fprintf(stderr, "Failed to realloc callback_data array\n");
exit(EXIT_FAILURE);
}
}
}
void xeb_add_callback(xeb_event_type event, xeb_callback func, void* data) {
assert(func != NULL);
callbacks_count++;
ensure_enough_callback_space();
struct callback_data *row = &callbacks[callbacks_count - 1];
row->event = event;
row->func = func;
row->data = data;
}
static void call_callbacks(xeb_event_type event) {
for (int i = 0; i < callbacks_count; i++) {
struct callback_data callback = callbacks[i];
if (callback.event == event) {
callback.func(event, callback.data);
}
}
}
int xeb_loop(void) {
Display *display = XOpenDisplay(NULL);
if (!display) {
fprintf(stderr, "Failed to open display\n");
return -1;
}
int screen_count = ScreenCount(display);
Window roots[screen_count];
struct dimensions dimens[screen_count];
for (int i = 0; i < screen_count; i++) {
roots[i] = RootWindow(display, i);
XWindowAttributes attrs;
Status status = XGetWindowAttributes(display, roots[i], &attrs);
if (!status) {
fprintf(stderr, "Failed to get root window attributes for screen: %d\n", i);
return -1;
}
dimens[i].width = attrs.width;
dimens[i].height = attrs.height;
XSelectInput(display, roots[i], StructureNotifyMask);
}
for (;;) {
XEvent e;
XNextEvent(display, &e);
if (e.type == ConfigureNotify) {
XConfigureEvent xce = e.xconfigure;
for (int i = 0; i < screen_count; i++) {
if (xce.window == roots[i]) {
if (xce.width != dimens[i].width || xce.height != dimens[i].height) {
dimens[i].width = xce.width;
dimens[i].height = xce.height;
call_callbacks(ResolutionChange);
}
break;
}
}
}
}
}

View File

@ -1,44 +0,0 @@
/*
* The MIT License (MIT)
*
* Copyright (c) 2016 Olaf Tomalka
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#ifndef _XEVENTBIND_HANDLER_H
#define _XEVENTBIND_HANDLER_H
#include "xeb_event_types.h"
typedef int xeb_callback_id;
/**
* @param event An event that this function was called for
* @param data A pointer to, optional, user defined input for the callback function
* @return 0 on success, anything else for error */
typedef int(*xeb_callback)(xeb_event_type event, void* data);
/**
* \brief Starts the event loop and blocks the thread until xeb_stop is called
* @return 0 on sucess, -1 on error
*/
int xeb_loop(void);
void xeb_add_callback(xeb_event_type event, xeb_callback func, void* data);
#endif

View File

@ -1,22 +0,0 @@
_yayver='8.1173.0'
_yay="yay_${_yayver}_x86_64"
pkgname=tari-util
pkgver=0.3.0
pkgrel=1
pkgdesc="Misc utility packages."
arch=('any')
provides=('yay')
conflicts=('yay')
source=("https://github.com/Jguer/yay/releases/download/v${_yayver}/${_yay}.tar.gz")
sha256sums=('e0f28c6be3c4322901438f324aed1f49ab593a8d4ed92279b1dda51381c51d6b')
package() {
_yayout="${srcdir}/${_yay}"
install -Dm 755 "$_yayout"/yay "$pkgdir"/usr/bin/yay
install -Dm 644 "$_yayout"/yay.8 "$pkgdir"/usr/share/man/man8/yay.8
install -Dm 644 "$_yayout"/bash "$pkgdir"/usr/share/bash-completion/completions/yay
install -Dm 644 "$_yayout"/zsh "$pkgdir"/usr/share/zsh/site-functions/_yay
install -Dm 644 "$_yayout"/fish "$pkgdir"/usr/share/fish/vendor_completions.d/yay.fish
}

View File

@ -1,47 +0,0 @@
_ubo='ublock_origin-1.17.2-an+fx.xpi'
_vimium='vimium_ff-1.64-an+fx.xpi'
_noscript='noscript_security_suite-10.1.9.9-an+fx.xpi'
_https='https_everywhere-2018.9.19-an+fx.xpi'
_arcdark='arc_dark_theme-2018.9.24-fx.xpi'
pkgname=tari-web
pkgver=0.1.0
pkgrel=1
pkgdesc="Web browser settings."
arch=('any')
depends=(ttf-dejavu ttf-liberation noto-fonts noto-fonts-cjk
noto-fonts-emoji adapta-gtk-theme firefox chromium)
source=('local-settings.js' 'mozilla.cfg'
"https://addons.cdn.mozilla.net/user-media/addons/607454/${_ubo}"
"https://addons.cdn.mozilla.net/user-media/addons/808538/${_vimium}"
"https://addons.cdn.mozilla.net/user-media/addons/722/${_noscript}"
"https://addons.cdn.mozilla.net/user-media/addons/229918/${_https}"
"https://addons.cdn.mozilla.net/user-media/addons/993966/${_arcdark}")
noextract=("${_ubo}" "${_vimium}" "${_noscript}" "${_https}" "${_arcdark}")
sha256sums=('4588ae786cf0cdf941a0c79ad71b7592cd1f5478a85822b019d98ff0d5e631d4'
'c625a3b98b3769bf08fe0a357898245dd2688f3d5c22c7a42ad4fc26132f45a9'
'b5e2fb5f12ef64d9ff4b8723af5f8d16ee349c5b9f2683edafc440f587efd078'
'1ac884ffd3345d83c5c47be1d6a6abe34b35678b6469ee68c7be6070100f5f98'
'e7ec0345c2174e64c7552ab708a59c8efd7c1078fedda64d9c9ad06a899194b9'
'90604ab36bd205d2cdee6a97d1e243b8193b678bd02731cc75209ce0c56590e4'
'95ab0e6116daa257a7023f134f14949d75271ef02428f69819d063da46f4ab8f')
package() {
install -Dm 644 local-settings.js "$pkgdir"/usr/lib/firefox/defaults/pref/local-settings.js
install -Dm 644 mozilla.cfg "$pkgdir"/usr/lib/firefox/mozilla.cfg
install -Dm 644 $_ubo \
"$pkgdir"/usr/lib/firefox/browser/extensions/uBlock0@raymondhill.net.xpi
install -Dm 644 $_vimium \
"$pkgdir"/usr/lib/firefox/browser/extensions/{d7742d87-e61d-4b78-b8a1-b469842139fa}.xpi
install -Dm 644 $_noscript \
"$pkgdir"/usr/lib/firefox/browser/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
install -Dm 644 $_https \
"$pkgdir"/usr/lib/firefox/browser/extensions/https-everywhere@eff.org.xpi
install -Dm 644 $_arcdark \
"$pkgdir"/usr/lib/firefox/browser/extensions/arc-dark-theme@afnankhan.xpi
}

View File

@ -1,2 +0,0 @@
pref("general.config.obscure_value", 0);
pref("general.config.filename", "mozilla.cfg");

View File

@ -1,50 +0,0 @@
//
// Don't use pocket
lockPref("browser.pocket.enabled", false);
// Don't automatically scan websites
lockPref("browser.safebrowsing.malware.enabled", false);
lockPref("browser.safebrowsing.phishing.enabled", false);
lockPref("browser.safebrowsing.downloads.enabled", false);
lockPref("browser.safebrowsing.downloads.remote.block_uncommon", false);
lockPref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
// Don't try to suggest search results
lockPref("browser.search.suggest.enabled", false);
lockPref("browser.urlbar.searchSuggestionsChoice", false);
lockPref("browser.urlbar.suggest.searches", false);
// Don't try to update search engines automatically
lockPref("browser.search.update", false);
// Don't send excessive data
lockPref("browser.tabs.crashReporting.sendReport", false);
lockPref("datareporting.healthreport.uploadEnabled", false);
lockPref("app.shield.optoutstudies.enabled", false);
// Don't warn when closing tabs
lockPref("browser.tabs.warnOnClose", false);
// Don't save account information
lockPref("signon.rememberSignons", false);
// Disable the default new tab page
lockPref("browser.newtabpage.enabled", false);
lockPref("browser.newtabpage.activity-stream.showSearch", false);
lockPref("browser.newtabpage.activity-stream.showSponsored", false);
lockPref("browser.newtabpage.activity-stream.feeds.topsites", false);
lockPref("browser.newtabpage.activity-stream.feeds.snippets", false);
lockPref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
lockPref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false);
lockPref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false);
lockPref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
lockPref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false);
// Use vim in the devtools editor
lockPref("devtools.editor.keymap", "vim");
// Disable the HTTPS everywhere section in devtools
lockPref("devtools.webextensions.https-everywhere@eff.org.enabled", false);
// vim:syn=javascript

View File

@ -1,18 +0,0 @@
# Tari - My Arch Linux setup
[Arch Linux][archlinux], a [GNU/Linux][gnulinux] distribution, lets you build your own environment. Since you only install what you want, it is easy to customize and control.
## Features
- A universal color scheme consistent across all terminal software
- A universal theme across both Qt and GTK applications
- The ability to switch between GNOME, Plasma, and bspwm efficiently
- Full HiDPI support for Qt, GTK, and X-level software applications
- Easily switch between both traditional and HiDPI resolution in the same X environment
## Usage
On a fresh [Arch install](/.archlinux/install-scripts), run `./bootstrap.sh`.
[archlinux]: https://www.archlinux.org
[gnulinux]: https://www.gnu.org/gnu/linux-and-gnu.html

View File

@ -1,28 +0,0 @@
#!/bin/sh
#
# Make partitions
#
# https://wiki.archlinux.org/index.php/Installation_guide
set -xe
# Sync the time with one online before doing anything
timedatectl set-ntp true
# Make a DOS partition table with one primary ext4 partition and
# enable boot for it. Then, create a primary swap partition with
# the remaining disk space.
parted /dev/sda mklabel msdos
parted /dev/sda mkpart primary ext4 1MiB "$DISTSIZE"GiB
parted /dev/sda set 1 boot on
parted /dev/sda mkpart primary linux-swap "$DISTSIZE"GiB 100%
# Format sda1 with ext4 and sda2 with swap
mkfs -t ext4 /dev/sda1
mkswap /dev/sda2
# Enable the swap partition
swapon /dev/sda2
# Mount the newly created file system (/dev/sda1) to /mnt.
mount /dev/sda1 /mnt

View File

@ -1,9 +0,0 @@
#!/bin/sh
#
# Install packages to new filesystem
#
# https://wiki.archlinux.org/index.php/Installation_guide
set -xe
pacstrap /mnt base base-devel grub fish polkit rng-tools

View File

@ -1,50 +0,0 @@
#!/bin/sh
#
# Core system configs
#
# https://wiki.archlinux.org/index.php/Installation_guide
set -xe
# Generate the fstab file (so the filesystem is mounted on boot)
genfstab -U /mnt > /mnt/etc/fstab
# Set the timezone
arch-chroot /mnt ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# Generate /etc/adjtime
arch-chroot /mnt hwclock --systohc
# Set the hostname
echo "$HOSTNAME" > /mnt/etc/hostname
# Configure the hosts file (if your system has a permanent IP address, use that instead of 127.0.1.1)
echo "127.0.0.1 localhost" >> /mnt/etc/hosts
echo "::1 localhost" >> /mnt/etc/hosts
echo "127.0.1.1 $HOSTNAME.localdomain $HOSTNAME" >> /mnt/etc/hosts
# Declare which locales we want to generate and generate them
sed -i '/#en_US.UTF-8 UTF-8/s/^#//g' /mnt/etc/locale.gen
sed -i '/#fr_FR.UTF-8 UTF-8/s/^#//g' /mnt/etc/locale.gen
sed -i '/#ja_JP.UTF-8 UTF-8/s/^#//g' /mnt/etc/locale.gen
arch-chroot /mnt locale-gen
# Set the system locale to the generated en_US.UTF-8
echo "LANG=en_US.UTF-8" > /mnt/etc/locale.conf
# Set the tty font to a larger one (same as the default setfont, but larger)
if [ "$HIDPI" == "YES" ]; then
echo "FONT=latarcyrheb-sun32" > /mnt/etc/vconsole.conf
fi
# Install grub to the primary partition.
arch-chroot /mnt grub-install /dev/sda
# Prevent the GRUB window from showing at boot, ideal for single OS machines (undo with chroot and mkconfig)
sed -i '/GRUB_TIMEOUT/c\GRUB_TIMEOUT=0' /mnt/etc/default/grub
# Make the configuration file for grub.
arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg
# Change the shell of the root account to fish.
arch-chroot /mnt chsh -s /usr/bin/fish

View File

@ -1,38 +0,0 @@
#!/bin/sh
#
# Higher-level configs
#
# https://wiki.archlinux.org/index.php/General_recommendations
set -xe
# Create the output directories if they don't exist yet
arch-chroot /mnt mkdir -p /etc/systemd/system/multi-user.target.wants
arch-chroot /mnt mkdir -p /etc/systemd/system/sysinit.target.wants
# Enable the DHCP client daemon service
arch-chroot /mnt ln -sf /usr/lib/systemd/system/dhcpcd.service \
/etc/systemd/system/multi-user.target.wants/dhcpcd.service
# Enable the timesync daemon service (sync the time periodically with a remote server)
arch-chroot /mnt ln -sf /usr/lib/systemd/system/systemd-timesyncd.service \
/etc/systemd/system/sysinit.target.wants/systemd-timesyncd.service
# Enable the rng-tools daemon
arch-chroot /mnt ln -sf /usr/lib/systemd/system/rngd.service \
/etc/systemd/system/sysinit.target.wants/rngd.service
# Enable colors in pacman by uncommenting the Color line.
sed -i '/Color/s/^#//g' /mnt/etc/pacman.conf
# Show package upgrades as a list
sed -i '/VerbosePkgLists/s/^#//g' /mnt/etc/pacman.conf
# Give users in the wheel group permission to use sudo
echo "%wheel ALL=(ALL) ALL" > /mnt/etc/sudoers.d/01_wheel_all
# Create a new user account with sudo privileges and the fish shell.
arch-chroot /mnt useradd -m -g users -G wheel -s /usr/bin/fish "$USERNAME"
# Lock the root account (i.e. disable root login)
arch-chroot /mnt passwd -l root

View File

@ -1,18 +0,0 @@
# Install Scripts
Here are my Arch Linux install scripts. They are divided into 4 parts:
1. Pre-install: Setting up the drive to install Arch on
2. Install: Installing Arch Linux to that drive
3. Configure: Writing some basic low-level config files
4. Post-install: Post-install configuration
I have one `install.sh` script that calls the first three scripts with the proper settings. The fourth script should be ran after a reboot. (TODO: Probably easier to run a subset of post-install commands in the installation media, + internet will already be covered, which allows us to clone this repository to the newly created home directory and run any other post-install commands on first boot... may also be useful to divide the install scripts a bit further to support more options).
> **Note**: If you do not understand my install scripts, you should follow the [Installation guide][archguide] instead.
## Setup
> TODO...
[archguide]: https://wiki.archlinux.org/index.php/Installation_guide

View File

@ -1,49 +0,0 @@
#!/bin/sh
# Simple Arch Linux install scripts, tailored to my use case.
# End the script on any errors
set -e
# Change the working directory to this one
cd "$(dirname "$0")"
# Prompt for the required information
echo -n "Enter the size (in GiB) to give the primary partition: "
read DISTSIZE
echo -n "Enter a username for the user with sudo rights: "
read USERNAME
echo -n "Enter a hostname for this machine ($USERNAME@_____): "
read HOSTNAME
echo -n "Type YES to enable HiDPI support in the virtual console: "
read HIDPI
echo "-----------------------------------------------------"
echo "Arch Linux will be installed with the settings above."
echo "NOTE: You should not run this script if you do not"
echo " understand what it does. Bad things may happen."
echo -n "Type YES to continue, or Ctrl+C to abort. "
read CONFIRM
if [ "$CONFIRM" != "YES" ]; then
echo "YES was not given, exiting..."
exit
fi
echo "====================================================="
echo "Running install scripts..."
# Run the install scripts
env DISTSIZE="$DISTSIZE" ./001-preinstall
./002-install
env HOSTNAME="$HOSTNAME" HIDPI="$HIDPI" ./003-configure
env USERNAME="$USERNAME" ./004-postinstall
echo "Enter a password for $USERNAME..."
arch-chroot /mnt passwd "$USERNAME"
echo "====================================================="
echo "Done. Now reboot into Arch Linux!"

View File

@ -1,62 +0,0 @@
install=sudo dnf install --assumeyes
copr=sudo dnf copr enable --assumeyes
.PHONY: all
all: rice RPMs/muya.rpm install kitty wal crystal rust diff-so-fancy clean
.PHONY: rice
rice:
@${install} pop-gtk-theme pop-icon-theme breeze-cursor-theme
@../gnome/.config/gnome/extensions.sh
@../gnome/.config/gnome/antialiasing.sh
@../gnome/.config/gnome/pop-gtk-theme.sh
@../gnome/.config/gnome/breeze-cursor-theme.sh
.ONESHELL:
RPMs/muya.rpm: RPMs/muya.spec
@cd RPMs
@rm -rfv noarch
@fedpkg --release f29 local
@mv noarch/*.rpm muya.rpm
@rmdir noarch
@rm -fv *.src.rpm
.PHONY: install
install:
@${install} RPMs/muya.rpm
.PHONY: kitty
kitty:
@${copr} gagbo/kitty-latest
@${install} kitty
.PHONY: wal
wal:
@pip3 install --user pywal
.PHONY: crystal
crystal:
@sudo ./vendor/crystal-setup.sh
@${install} crystal
.PHONY: rust
rust:
@./vendor/rustup-init.sh -y
.PHONY: diff-so-fancy
diff-so-fancy:
@sudo install -Dm 755 ./vendor/diff-so-fancy /usr/bin/diff-so-fancy
.PHONY: clean
clean:
@rm -rv ~/rpmbuild
.PHONY: update
update:
@mkdir -pv vendor
@curl -L https://raw.githubusercontent.com/so-fancy/diff-so-fancy/master/third_party/build_fatpack/diff-so-fancy -o vendor/diff-so-fancy
@curl -L https://sh.rustup.rs -o vendor/rustup-init.sh
@curl -L https://dist.crystal-lang.org/rpm/setup.sh -o vendor/crystal-setup.sh
@chmod 755 vendor/diff-so-fancy
@chmod 755 vendor/rustup-init.sh
@chmod 755 vendor/crystal-setup.sh

View File

@ -1,47 +0,0 @@
# Muya - A light rice for Fedora
This is my setup for [Fedora][fedora], a [GNU/Linux][gnulinux] distribution that ships with GNOME by default, making it an ideal choice for most users. This guide covers a *simple* rice that will make your Fedora look much nicer than the defaults. It only uses packages from the official repositories, making it quick and easy to set up on any machine.
> This guide will work with the **latest version** of Fedora (29 as of this writing).
## Use my GNOME theme and settings
To copy the look and feel of my GNOME setup, run:
```sh
make rice
```
That's it! You now have a very simple Fedora rice.
## Use my packages and scripts
### Install kitty
Use `make kitty` to install the [kitty](/kitty) terminal emulator.
### Install wal
Use `make wal` to install [pywal](/wal).
### Install crystal
Use `make crystal` to install the [Crystal][crystal] programming language.
### Install rustup
Use `make rustup` to install the Rust toolchain installer.
## Mimic my entire setup
If you want to use *everything* I use, simply run the bootstrap script, like so:
```sh
./bootstrap.sh
```
The script will ask for sudo permissions the first time you run it. Then you can sit back and relax as no manual intervention is necessary.
[fedora]: https://getfedora.org
[gnulinux]: https://www.gnu.org/gnu/linux-and-gnu.html
[crystal]: https://crystal-lang.org/

View File

@ -1,76 +0,0 @@
Name: muya
Version: 0.2.0
Release: 1%{?dist}
Summary: Packages I use in addition to the defaults on Fedora
License: Various
BuildArch: noarch
# Packages
Requires: stow
Requires: neovim
Requires: vim-enhanced
Requires: fish
Requires: pass
Requires: ripgrep
Requires: fzf
Requires: exa
Requires: fd-find
Requires: httpie
Requires: jq
Requires: ranger
Requires: tig
Requires: youtube-dl
Requires: neofetch
Requires: cmatrix
Requires: borgbackup
Requires: rsync
Requires: texlive
Requires: nginx
Requires: nodejs
Requires: nodejs-yarn
Requires: java-11-openjdk
Requires: ansible
Requires: docker
Requires: docker-compose
Requires: chromium
%description
All the packages and other options I use on a fresh Fedora machine.
Keeping one package and updating it as time goes on makes it easy to
manage dependencies and other installed files.
%files
%{_bindir}/256colortest
%{_bindir}/colorfade
%{_bindir}/colorhash
%{_bindir}/colorhex
%{_bindir}/colorline
%{_bindir}/colorpanes
%{_bindir}/colortest
%{_bindir}/diamonds
%{_bindir}/dna
%{_bindir}/ghosts
%{_bindir}/pipes
%{_bindir}/pmabove
%{_bindir}/pmleft
%{_bindir}/spaceinvaders
%{_bindir}/unowns
%install
ROOT_DIR=../../.archlinux/PKGBUILDs
SCRIPTS_DIR=$ROOT_DIR/tari-scripts
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/256colortest
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/colorfade
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/colorhash
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/colorhex
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/colorline
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/colorpanes
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/colortest
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/diamonds
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/dna
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/ghosts
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/pipes
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/pmabove
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/pmleft
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/spaceinvaders
install -Dm 755 -t %{buildroot}/%{_bindir} $SCRIPTS_DIR/unowns

View File

@ -1,32 +0,0 @@
#!/bin/sh
# End the script on any errors
set -e
# Change the working directory to this one
cd "$(dirname "$0")"
# Get administrative privileges
sudo -v
# Keep pinging sudo until this script finishes
# Source: https://gist.github.com/cowboy/3118588
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
# Install dependencies
sudo -n dnf install -y make fedpkg
# Run make
make
# Install dotfiles
make -C ..
# Change the color scheme to a sane default
wal --theme base16-tomorrow-night
# Run vim for the first time (i.e. install plugins and exit)
nvim
# Revoke privileges
sudo -K

View File

@ -1,8 +0,0 @@
#!/usr/bin/env bash
cat > /etc/yum.repos.d/crystal.repo <<END
[crystal]
name = Crystal
baseurl = http://dist.crystal-lang.org/rpm/
END
rpm --import http://dist.crystal-lang.org/rpm/RPM-GPG-KEY

File diff suppressed because it is too large Load Diff

View File

@ -1,387 +0,0 @@
#!/bin/bash
# Copyright 2016 The Rust Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution and at
# http://rust-lang.org/COPYRIGHT.
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.
# This is just a little script that can be downloaded from the internet to
# install rustup. It just does platform detection, downloads the installer
# and runs it.
set -u
RUSTUP_UPDATE_ROOT="https://static.rust-lang.org/rustup/dist"
#XXX: If you change anything here, please make the same changes in setup_mode.rs
usage() {
cat 1>&2 <<EOF
rustup-init 1.0.0 (408ed84 2017-02-11)
The installer for rustup
USAGE:
rustup-init [FLAGS] [OPTIONS]
FLAGS:
-v, --verbose Enable verbose output
-y Disable confirmation prompt.
--no-modify-path Don't configure the PATH environment variable
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--default-host <default-host> Choose a default host triple
--default-toolchain <default-toolchain> Choose a default toolchain to install
--default-toolchain none Do not install any toolchains
EOF
}
main() {
downloader --check
need_cmd uname
need_cmd mktemp
need_cmd chmod
need_cmd mkdir
need_cmd rm
need_cmd rmdir
get_architecture || return 1
local _arch="$RETVAL"
assert_nz "$_arch" "arch"
local _ext=""
case "$_arch" in
*windows*)
_ext=".exe"
;;
esac
local _url="$RUSTUP_UPDATE_ROOT/$_arch/rustup-init$_ext"
local _dir="$(mktemp -d 2>/dev/null || ensure mktemp -d -t rustup)"
local _file="$_dir/rustup-init$_ext"
local _ansi_escapes_are_valid=false
if [ -t 2 ]; then
if [ "${TERM+set}" = 'set' ]; then
case "$TERM" in
xterm*|rxvt*|urxvt*|linux*|vt*)
_ansi_escapes_are_valid=true
;;
esac
fi
fi
# check if we have to use /dev/tty to prompt the user
local need_tty=yes
for arg in "$@"; do
case "$arg" in
-h|--help)
usage
exit 0
;;
-y)
# user wants to skip the prompt -- we don't need /dev/tty
need_tty=no
;;
*)
;;
esac
done
if $_ansi_escapes_are_valid; then
printf "\33[1minfo:\33[0m downloading installer\n" 1>&2
else
printf '%s\n' 'info: downloading installer' 1>&2
fi
ensure mkdir -p "$_dir"
ensure downloader "$_url" "$_file"
ensure chmod u+x "$_file"
if [ ! -x "$_file" ]; then
printf '%s\n' "Cannot execute $_file (likely because of mounting /tmp as noexec)." 1>&2
printf '%s\n' "Please copy the file to a location where you can execute binaries and run ./rustup-init$_ext." 1>&2
exit 1
fi
if [ "$need_tty" = "yes" ]; then
# The installer is going to want to ask for confirmation by
# reading stdin. This script was piped into `sh` though and
# doesn't have stdin to pass to its children. Instead we're going
# to explicitly connect /dev/tty to the installer's stdin.
if [ ! -t 1 ]; then
err "Unable to run interactively. Run with -y to accept defaults, --help for additional options"
fi
ignore "$_file" "$@" < /dev/tty
else
ignore "$_file" "$@"
fi
local _retval=$?
ignore rm "$_file"
ignore rmdir "$_dir"
return "$_retval"
}
get_bitness() {
need_cmd head
# Architecture detection without dependencies beyond coreutils.
# ELF files start out "\x7fELF", and the following byte is
# 0x01 for 32-bit and
# 0x02 for 64-bit.
# The printf builtin on some shells like dash only supports octal
# escape sequences, so we use those.
local _current_exe_head=$(head -c 5 /proc/self/exe )
if [ "$_current_exe_head" = "$(printf '\177ELF\001')" ]; then
echo 32
elif [ "$_current_exe_head" = "$(printf '\177ELF\002')" ]; then
echo 64
else
err "unknown platform bitness"
fi
}
get_endianness() {
local cputype=$1
local suffix_eb=$2
local suffix_el=$3
# detect endianness without od/hexdump, like get_bitness() does.
need_cmd head
need_cmd tail
local _current_exe_endianness="$(head -c 6 /proc/self/exe | tail -c 1)"
if [ "$_current_exe_endianness" = "$(printf '\001')" ]; then
echo "${cputype}${suffix_el}"
elif [ "$_current_exe_endianness" = "$(printf '\002')" ]; then
echo "${cputype}${suffix_eb}"
else
err "unknown platform endianness"
fi
}
get_architecture() {
local _ostype="$(uname -s)"
local _cputype="$(uname -m)"
if [ "$_ostype" = Linux ]; then
if [ "$(uname -o)" = Android ]; then
local _ostype=Android
fi
fi
if [ "$_ostype" = Darwin -a "$_cputype" = i386 ]; then
# Darwin `uname -s` lies
if sysctl hw.optional.x86_64 | grep -q ': 1'; then
local _cputype=x86_64
fi
fi
case "$_ostype" in
Android)
local _ostype=linux-android
;;
Linux)
local _ostype=unknown-linux-gnu
;;
FreeBSD)
local _ostype=unknown-freebsd
;;
NetBSD)
local _ostype=unknown-netbsd
;;
DragonFly)
local _ostype=unknown-dragonfly
;;
Darwin)
local _ostype=apple-darwin
;;
MINGW* | MSYS* | CYGWIN*)
local _ostype=pc-windows-gnu
;;
*)
err "unrecognized OS type: $_ostype"
;;
esac
case "$_cputype" in
i386 | i486 | i686 | i786 | x86)
local _cputype=i686
;;
xscale | arm)
local _cputype=arm
if [ "$_ostype" = "linux-android" ]; then
local _ostype=linux-androideabi
fi
;;
armv6l)
local _cputype=arm
if [ "$_ostype" = "linux-android" ]; then
local _ostype=linux-androideabi
else
local _ostype="${_ostype}eabihf"
fi
;;
armv7l | armv8l)
local _cputype=armv7
if [ "$_ostype" = "linux-android" ]; then
local _ostype=linux-androideabi
else
local _ostype="${_ostype}eabihf"
fi
;;
aarch64)
local _cputype=aarch64
;;
x86_64 | x86-64 | x64 | amd64)
local _cputype=x86_64
;;
mips)
local _cputype="$(get_endianness $_cputype "" 'el')"
;;
mips64)
local _bitness="$(get_bitness)"
if [ $_bitness = "32" ]; then
if [ $_ostype = "unknown-linux-gnu" ]; then
# 64-bit kernel with 32-bit userland
# endianness suffix is appended later
local _cputype=mips
fi
else
# only n64 ABI is supported for now
local _ostype="${_ostype}abi64"
fi
local _cputype="$(get_endianness $_cputype "" 'el')"
;;
ppc)
local _cputype=powerpc
;;
ppc64)
local _cputype=powerpc64
;;
ppc64le)
local _cputype=powerpc64le
;;
*)
err "unknown CPU type: $_cputype"
esac
# Detect 64-bit linux with 32-bit userland
if [ $_ostype = unknown-linux-gnu -a $_cputype = x86_64 ]; then
if [ "$(get_bitness)" = "32" ]; then
local _cputype=i686
fi
fi
# Detect armv7 but without the CPU features Rust needs in that build,
# and fall back to arm.
# See https://github.com/rust-lang-nursery/rustup.rs/issues/587.
if [ $_ostype = "unknown-linux-gnueabihf" -a $_cputype = armv7 ]; then
if ensure grep '^Features' /proc/cpuinfo | grep -q -v neon; then
# At least one processor does not have NEON.
local _cputype=arm
fi
fi
local _arch="$_cputype-$_ostype"
RETVAL="$_arch"
}
say() {
echo "rustup: $1"
}
err() {
say "$1" >&2
exit 1
}
need_cmd() {
if ! check_cmd "$1"
then err "need '$1' (command not found)"
fi
}
check_cmd() {
command -v "$1" > /dev/null 2>&1
return $?
}
need_ok() {
if [ $? != 0 ]; then err "$1"; fi
}
assert_nz() {
if [ -z "$1" ]; then err "assert_nz $2"; fi
}
# Run a command that should never fail. If the command fails execution
# will immediately terminate with an error showing the failing
# command.
ensure() {
"$@"
need_ok "command failed: $*"
}
# This is just for indicating that commands' results are being
# intentionally ignored. Usually, because it's being executed
# as part of error handling.
ignore() {
"$@"
}
# This wraps curl or wget. Try curl first, if not installed,
# use wget instead.
downloader() {
if check_cmd curl
then _dld=curl
elif check_cmd wget
then _dld=wget
else _dld='curl or wget' # to be used in error message of need_cmd
fi
if [ "$1" = --check ]
then need_cmd "$_dld"
elif [ "$_dld" = curl ]
then curl -sSfL "$1" -o "$2"
elif [ "$_dld" = wget ]
then wget "$1" -O "$2"
else err "Unknown downloader" # should not reach here
fi
}
main "$@" || exit 1

1
.gitattributes vendored
View File

@ -1 +0,0 @@
.archlinux/PKGBUILDs/**/* linguist-vendored

BIN
.github/screenshots/neovim.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 KiB

26
.github/workflows/tests.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: tests
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
deno:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Run tests
run: deno test tests/main.ts --allow-read
- name: Check formatting
run: deno fmt tests/ --check
nix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v22
- run: nix flake check

17
.gitignore vendored
View File

@ -1,15 +1,2 @@
# Ignore firefox extensions
*.xpi
# Ignore tar files
*.tar*
# Ignore log files
*.log
# Ignore rpm files
*.rpm
# Ignore tari-dev source files
.archlinux/PKGBUILDs/tari-dev/*.vim
.archlinux/PKGBUILDs/tari-dev/*.fish
*.qcow2
result

View File

@ -1,8 +0,0 @@
# Changelog
## [0.1.0] (December 1st 2018)
- Finally settled on a file hierarchy
- The Fedora bootstrap script works completely
- Arch Linux install scripts work, but can be improved
- The actual rice works very well

View File

@ -1,4 +1,4 @@
Copyright (C) 2017-2018 Donovan Glover
Copyright (C) 2017-2024 Donovan Glover
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the

View File

@ -1,53 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2018 Donovan Glover
#
# Usage:
# make Defaults to `make install`
# make install Installs dotfiles
# make uninstall Uninstalls dotfiles
# make prune Removes stale links
verbose ?= 2
NS_CODE_EXTENSIONS := dbaeumer.vscode-eslint EditorConfig.EditorConfig faustinoaq.crystal-lang \
naumovs.color-highlight PKief.material-icon-theme vscodevim.vim
NS_REPO_PATH := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
NS_STOW_OPTIONS := --dir="${NS_REPO_PATH}" --target="${HOME}" --no-folding --verbose=${verbose}
NS_STOW_PACKAGES := $(wildcard */)
NS_SUCCESS := "SUCCESS: Stow command executed succesfully!"
NS_STOW_COMMAND := $(if ${package},ns_stow_package,ns_stow_all)
ns_stow_package = \
echo "STATUS: Found package variable. Stow operation will be performed if it is a valid directory..."; \
test -d ${package} && \
(stow -${1} ${package} ${NS_STOW_OPTIONS} && \
echo ${NS_SUCCESS}) || \
echo "FAILURE: Not a valid package directory."
ns_stow_all = \
echo "STATUS: No package variable given. Performing stow operation on all directories..."; \
$(foreach package,$(NS_STOW_PACKAGES),stow -${1} $(package) ${NS_STOW_OPTIONS} &&) \
echo ${NS_SUCCESS}
.PHONY: install
install:
@$(call ${NS_STOW_COMMAND},S)
.PHONY: uninstall
uninstall:
@$(call ${NS_STOW_COMMAND},D)
.PHONY: prune
prune:
@$(call ${NS_STOW_COMMAND},R)
.PHONY: code-extensions
code-extensions:
@$(foreach extension,${NS_CODE_EXTENSIONS},code --install-extension ${extension} --force;)
.PHONY: enable-mpd
enable-mpd:
@systemctl --user enable --now mpd.service
.PHONY: enable-ssh-agent
enable-ssh-agent:
@systemctl --user enable --now ssh-agent.service

100
README.md
View File

@ -1,77 +1,37 @@
# ~/.files
# nix-config
> TODO: Screenshots
My [NixOS] configuration with [Nix Flakes], [Home Manager], [Stylix], and [Hyprland].
![A screenshot of Pepper looking earnestly at declaratively configured Git abbreviations for the fish shell, written in Nix.](./cover.jpg)
<sub>Background art: [The market](https://www.peppercarrot.com/en/viewer/artworks__2022-02-21_The-market_by-David-Revoy.html), [In Bloom](https://www.peppercarrot.com/en/viewer/artworks__2022-03-02_In-Bloom_by-David-Revoy.html) and [Vertical cover book two screen](https://www.peppercarrot.com/en/viewer/artworks__2016-11-14_vertical-cover-book-two_screen_by-David-Revoy.html) by David Revoy [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en).</sub>
![A screenshot of a Rust programming environment with Neovim, kitty, and bacon.](./.github/screenshots/neovim.png)
<sub>Background art: [Video game jam](https://www.peppercarrot.com/en/viewer/misc__2023-06-12_video-game-jam_by-David-Revoy.html) by David Revoy [CC-BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en).</sub>
## Features
- Clean, readable code that can be easily modified to add/remove things as needed.
- Fully reproducible and declarative environment thanks to NixOS.
- Reasonably secure containers isolated from your personal files and network.
- Nix Flakes + Home Manager + Btrfs on LUKS.
- Simple yet effective Neovim setup with nvim-lspconfig.
- Modern Wayland support with Hyprland and the master-stack layout.
- Full Japanese support with fonts, input method, and wine covered.
- Specializations for easy switching between Hyprland, GNOME, and Plasma.
- A universal color scheme inherited by all applications.
## Usage
### Replicate my [Arch Linux](/.archlinux) setup
On a fresh [Arch Linux][archlinux] install, run the bootstrap script.
```sh
git clone https://github.com/GloverDonovan/.files --depth 1 && ./.files/.archlinux/bootstrap.sh
```fish
git clone https://github.com/donovanglover/nix-config && cd nix-config
nixos-rebuild build-vm --flake .#nixos
./result/bin/run-nixos-vm
```
### Replicate my [Fedora](/.fedora) setup
The code base is designed to be small so it's easy to adjust things as needed. Have fun!
On a fresh [Fedora][fedora] install, run the bootstrap script.
```sh
git clone https://github.com/GloverDonovan/.files --depth 1 && ./.files/.fedora/bootstrap.sh
```
### Use only the dotfiles you want
#### Method 1. With [`stow`][stow]
First, install stow with your package manager. Then, run the following:
```sh
make package=kitty
```
This will symlink my kitty config to your `$XDG_CONFIG_HOME`. If you want to install a different package, simply replace `kitty` with the name of the directory you wish to get dotfiles from.
Since `stow` will only change what it owns, you do not have to worry about any of your existing dotfiles being changed when you use this method.
To uninstall packages, simply use:
```sh
make uninstall package=kitty
```
This will remove the symlink to my kitty config. If you have other kitty files, stow will not remove them, since stow only changes what it owns.
#### Method 2. Manually
If you already have dotfiles and want to improve them, you can use this repository as a guide. If you find something that makes your dotfiles better, you're free to use it.
If you don't want to use stow, you can simply copy/paste the dotfiles you want to their relevant directories.
## Updating
To update your system with any changes I make, you must first verify that the changes I made are actually changes you want. Eventually I want to consider my dotfiles "stable" (i.e. 1.0.0, 2.0.0, etc.) in which only major version upgrades would significantly alter existing functionality, but right now this simply isn't the case.
Once you've verified that you indeed want my changes, update your local copy of the repository like so:
```sh
git pull
```
If you used the stow method, all of the dotfiles that you use from me will already be updated; you do not have to do anything else. If git tells you that there are conflicts, you probably want to rebase your changes on top of mine, or consider making your own version of those files instead.
## Downgrading
If for some reason you updated by accident and want existing functionality back, you can simply checkout a previous version or commit.
For example, if your configuration was last known to work at commit `a1b2c3d`, you would use:
```sh
git checkout a1b2c3d
```
[archlinux]: https://www.archlinux.org
[fedora]: https://getfedora.org
[gnulinux]: https://www.gnu.org/gnu/linux-and-gnu.html
[freesw]: https://www.gnu.org/philosophy/free-sw.html
[stow]: https://www.gnu.org/software/stow/manual/stow.html
[NixOS]: https://nixos.org/
[Nix Flakes]: https://nixos.wiki/wiki/Flakes
[Home Manager]: https://nix-community.github.io/home-manager/
[Stylix]: https://danth.github.io/stylix/
[Hyprland]: https://hyprland.org/

BIN
assets/wallpaper.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -1,63 +0,0 @@
#!/bin/sh
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2018 Donovan Glover
export SXHKD_SHELL="/usr/bin/bash"
export XCURSOR_THEME="breeze_cursors"
export XDG_DATA_DIRS="/usr/share:/usr/share:/usr/local/share"
sxhkd &
bspc monitor -d 1 2 3 4 5 6
bspc config split_ratio 0.50
# When monocle mode is enabled, don't show borders or gaps (i.e. let it
# take up the full available space on the screen).
bspc config borderless_monocle true
bspc config gapless_monocle true
# Always focus the window under the cursor
# while moving the mouse, similar to i3
bspc config focus_follows_pointer true
# Make caps lock work as ctrl
xmodmap ~/.xmodmap
# Make caps lock (left ctrl) work as escape
xcape -e 'Control_L=Escape'
# Change the default X shaped cursor to a pointer
xsetroot -cursor_name left_ptr
# Set a temporary black background to avoid flash
~/.config/feh/tile.sh 000000
# If running with VirtualBox client utilities, start them.
# Useful for automatically changing display resolution, etc.
if hash VBoxClient-all 2>/dev/null; then
VBoxClient-all
fi
# Set the color scheme to a random one. Note that this command
# needs to be run after any screen resolution changes.
wal -o ~/.config/wal/done.sh -i ~/Pictures/Wallpapers
# Never blank the screen (disable power saving)
xset s off -dpms
# Start compton
compton -b
# Start polybar
~/.config/polybar/launch.sh main
# bspc rules
bspc rule -a mpv state=floating
bspc rule -a feh state=floating
bspc rule -a kitty:floating state=floating
bspc rule -a kwrite state=floating
bspc rule -a ark state=floating
bspc rule -a kmag state=floating
bspc rule -a kcharselect state=floating

View File

@ -1,10 +0,0 @@
#!/bin/sh
# Source the colors from wal
source ~/.cache/wal/colors.sh
# Set the border colors
bspc config normal_border_color "$color8"
bspc config active_border_color "$color2"
bspc config focused_border_color "$color7"
bspc config presel_feedback_color "$color7"

View File

@ -1,18 +0,0 @@
# bspwm
[bspwm][bspwm] is a tiling window manager for X11.
## Use Cases
bspwm can be used to:
- Automatically tile all kinds of windows, maximizing screen estate
- Have complete control of your window manager through simple shell commands
- Minimize resource usage; bspwm works best without a desktop environment
You should not use bspwm if:
- You are using a desktop environment
- You just want to open multiple shells (use [kitty](/kitty) or [tmux](/tmux) for this instead)
[bspwm]: https://github.com/baskerville/bspwm

View File

@ -1,30 +0,0 @@
// New Start: A modern Arch workflow built with an emphasis on functionality.
// Copyright (C) 2018 Donovan Glover
{
// Look and feel
"workbench.colorTheme": "vs-wal",
"workbench.iconTheme": "material-icon-theme",
"editor.smoothScrolling": true,
// Always start with the previous workspace
"workbench.startupEditor": "newUntitledFile",
// Confirmations
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
// Attempt to render things properly for HiDPI displays
"terminal.integrated.rendererType": "dom",
"editor.disableTranslate3d": true,
// Toggle the menu bar with alt
"window.menuBarVisibility": "toggle",
// Disable the enabled-by-default telemetry
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
// Prefer yarn over npm
"eslint.packageManager": "yarn"
}
// vim:syn=javascript

View File

@ -1,19 +0,0 @@
# Code
[Code][code] is an open source build of [a popular][vscode] GUI text editor.
## Use Cases
Code can be used to:
- Navigate graphical file trees entirely with the mouse
- Provide an editor for non-vim users as needed
- Perform a myriad of common command line operations through a point-click GUI
You should not use Code if:
- You want to learn how compilers, git, find, grep, and other software work
- You want to learn [vim](/vim), the standard text editor
[code]: https://www.archlinux.org/packages/community/x86_64/code/
[vscode]: https://github.com/Microsoft/vscode

View File

@ -1,29 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
# Enable shadows (very important, as this makes everything look really nice)
shadow = true
# Disable shadow on docks like polybar
#no-dock-shadow = true
# Disable shadow for drag-and-drop functionality
no-dnd-shadow = true
# Fade windows when you open and close them, as well as change workspaces
fading = true
# "Clear shadow" means that shadows will only affect the borders of the
# windows and not the entire window. This makes drawing windows much faster.
clear-shadow = true
# Shadow settings
#shadow-opacity = 0.6
#shadow-radius = 20
#shadow-offset-x = -30
#shadow-offset-y = -10
# Add transparency to bspwm borders
#frame-opacity = 0.5
# vim:ft=dosini

View File

@ -1,18 +0,0 @@
# compton
[compton][compton] is a desktop compositor for X11.
## Use Cases
compton can be used to:
- Reduce screen tear in certain environments
- Add elementary animations such as fading to your desktop
- Add shadows to your desktop
You should not use compton if:
- Your window manager or desktop environment already has a compositor
- You are not using X11
[compton]: https://github.com/yshui/compton

116
containers/default.nix Normal file
View File

@ -0,0 +1,116 @@
{ stylix
, home-manager
, sakaya
, ...
}:
let
template = {
privateNetwork = true;
ephemeral = true;
autoStart = true;
restartIfChanged = false;
bindMounts = {
"/mnt" = {
hostPath = "/home/user/containers/wine";
isReadOnly = false;
};
waylandDisplay = rec {
hostPath = "/run/user/1000";
mountPoint = hostPath;
};
x11Display = rec {
hostPath = "/tmp/.X11-unix";
mountPoint = hostPath;
};
dri = rec {
hostPath = "/dev/dri";
mountPoint = hostPath;
};
};
allowedDevices = [
{
modifier = "rw";
node = "/dev/dri/renderD128";
}
];
};
in
{
systemd.tmpfiles.rules = [
"d /run/user/1000 0700 user users -"
];
containers.wine = template // {
hostAddress = "192.168.100.34";
localAddress = "192.168.100.49";
config = { lib, pkgs, ... }: {
imports = [
stylix.nixosModules.stylix
home-manager.nixosModules.home-manager
./shared.nix
];
networking.nat.forwardPorts = [
{
destination = "192.168.100.49:39493";
sourcePort = 39493;
}
{
destination = "192.168.100.49:5029";
sourcePort = 5029;
}
];
networking.firewall.allowedTCPPorts = [
39493
5029
];
systemd.services.sakaya = {
enable = true;
description = "sakaya server";
unitConfig = {
Type = "simple";
};
path = with pkgs; [
su
];
serviceConfig = {
ExecStart = "/usr/bin/env su user --command=${sakaya.packages.${pkgs.system}.sakaya}/bin/sakaya";
};
wantedBy = [ "multi-user.target" ];
};
environment.systemPackages = with pkgs; [
wineWowPackages.waylandFull
winetricks
sakaya.packages.${system}.sakaya
rar
unrar
iamb
srb2
];
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"rar"
"unrar"
];
environment.sessionVariables = {
LC_ALL = "ja_JP.UTF-8";
TZ = "Asia/Tokyo";
};
};
};
}

71
containers/shared.nix Normal file
View File

@ -0,0 +1,71 @@
{ pkgs, ... }:
{
imports = [
../overlays
../modules/fish.nix
../modules/fonts.nix
../modules/home-manager.nix
../modules/locale.nix
../modules/neovim.nix
../modules/nix.nix
../modules/pipewire.nix
../modules/starship.nix
../modules/stylix.nix
../modules/timezone.nix
../modules/wine.nix
];
home-manager.sharedModules = [
../home/fish.nix
../home/git.nix
../home/gtk.nix
../home/htop.nix
../home/joshuto.nix
../home/kitty.nix
../home/neovim.nix
../home/xcursor.nix
../home/xresources.nix
];
environment = {
defaultPackages = [ ];
variables.TERM = "xterm-kitty";
sessionVariables = {
WAYLAND_DISPLAY = "wayland-1";
QT_QPA_PLATFORM = "wayland";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
SDL_VIDEODRIVER = "wayland";
CLUTTER_BACKEND = "wayland";
MOZ_ENABLE_WAYLAND = "1";
XDG_RUNTIME_DIR = "/run/user/1000";
DISPLAY = ":0";
QT_IM_MODULE = "fcitx";
XMODIFIERS = "@im=fcitx";
SDL_IM_MODULE = "fcitx";
GLFW_IM_MODULE = "ibus";
};
};
environment.systemPackages = with pkgs; [
kitty
];
users = {
mutableUsers = false;
allowNoPasswordLogin = true;
users = {
user = {
isNormalUser = true;
home = "/home/user";
};
};
};
services.xserver.enable = true;
hardware.opengl.enable = true;
system.stateVersion = "22.11";
}

BIN
cover.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

14
default.nix Normal file
View File

@ -0,0 +1,14 @@
{ home-manager, stylix, ... }:
{
imports = [
home-manager.nixosModules.home-manager
stylix.nixosModules.stylix
./containers
./hardware
./home
./modules
./packages
./overlays
];
}

View File

@ -1,8 +0,0 @@
#!/bin/sh
# Symlink dunst config
ln -sf ~/.cache/wal/dunstrc ~/.config/dunst/dunstrc
# Restart dunst with the new color scheme
pkill dunst
dunst &

View File

@ -1,57 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2018 Donovan Glover
# NOTE: This file is automatically generated by pywal. Do not edit it by hand.
[global]
# Make the width 3740 (3840 - 100), have 50 left margin and 95 above
geometry = "3740x5-50+95"
# Show multiple notifications in the same box
separator_height = 0
# Add vertical padding to the inside of the notification
padding = 24
# Add horizontal padding for when the text gets long enough
horizontal_padding = 24
# The frame color and width of the notification
frame_color = "{color4}"
frame_width = 6
# How long a user needs to be idle for sticky notifications
idle_threshold = 120
# Font and typography settings
font = Fira Mono 11
alignment = center
word_wrap = yes
# Format for how notifications will be displayed
# Usage: `notify-send 'Title' 'Summary'`
format = "<b>%s</b>: %b"
# Allow some HTML tags like <i> and <u> in notifications
markup = full
# These are the keybindings used to control dunst notifications
[shortcuts]
close = ctrl+space
close_all = ctrl+shift+space
history = ctrl+grave
# Set the background and foreground (text) color for all notifications
[urgency_low]
background = "{background}"
foreground = "{foreground}"
[urgency_normal]
background = "{background}"
foreground = "{foreground}"
[urgency_critical]
background = "{background}"
foreground = "{foreground}"
# vim:ft=cfg

View File

@ -1,16 +0,0 @@
# dunst
[dunst][dunst] is used to display notifications on your desktop.
## Use Cases
dunst can be used to:
- Display messages sent with `notify-send`
- Strategically add notifications to your rice screenshots
You should not use dunst if:
- Your desktop environment already includes a notification daemon
[dunst]: https://github.com/dunst-project/dunst

View File

@ -1,15 +0,0 @@
root = true
# Use 2 spaces for indentation by default
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_size = 2
indent_style = space
trim_trailing_whitespace = true
# Use tab indentation (with size 4) for the following files
[Makefile]
indent_style = tab
indent_size = 4

View File

@ -1,20 +0,0 @@
# editorconfig
[editorconfig][editorconfig] is the standard tool for editing consistency between editors.
## Use Cases
editorconfig can be used to:
- Finally forget about whether spaces or tabs are being used; editorconfig will handle this automatically for you
- Share the same indentation settings in all the editors you and your colleagues use
You should not use editorconfig if:
- You should use editorconfig.
## Usage
If you use my [`.vimrc`](/vim) or [code](/code) config, editorconfig is already applied.
[editorconfig]: https://github.com/editorconfig/editorconfig

View File

@ -1,101 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
# Remove the default keybindings
toggle_actions
toggle_aliasing
toggle_caption
toggle_filenames
toggle_exif
save_filelist
toggle_fixed_geometry
toggle_pause
toggle_info
toggle_keep_vp
toggle_menu
next_img
toggle_pointer
prev_img
quit
reload_image
save_image
toggle_fullscreen
size_to_image
close
jump_random
prev_dir
next_dir
orient_3
orient_1
# Remove the default editing functionality
flip
mirror
action_0
action_1
action_2
action_3
action_4
action_5
action_6
action_7
action_8
action_9
jump_first
jump_last
jump_fwd
jump_back
reload_plus
reload_minus
remove
delete
scroll_left
scroll_right
scroll_up
scroll_down
scroll_left_page
scroll_right_page
scroll_up_page
scroll_down_page
render
zoom_in
zoom_out
zoom_default
zoom_fit
zoom_fill
# Remove the menu stuff
menu_close
menu_up
menu_down
menu_parent
menu_child
menu_select
# Add our custom keybindings
# Note that k goes right (next) and j goes left (prev)
toggle_fullscreen f
next_img k Right
prev_img j Left
toggle_filenames d
toggle_fixed_geometry g
toggle_pause h
quit q
size_to_image w
jump_random z
scroll_left b
scroll_right n
scroll_up u Up
scroll_down d Down
zoom_in h
zoom_out l
zoom_default o
zoom_fill p
toggle_pointer a
jump_first J
jump_last K
jump_fwd H
jump_back L
delete v
save_image s
toggle_auto_zoom m

View File

@ -1,43 +0,0 @@
#!/bin/sh
# End the script if an error occurs.
set -e
# Change the working directory to a cache directory.
mkdir -p "$HOME/.cache/feh"
cd "$HOME/.cache/feh"
# If $1 is not defined, raise an error.
if [ -z "$1" ]; then
echo 'error: No color specified.'
echo 'usage: ./path/to/tile.sh <color> where color is hexadecimal'
exit 1
fi
# If $1 contains something other than 0-9 and A-F, raise an error.
if [[ -n "${1//[0-9A-F]/}" ]]; then
echo 'error: Invalid color specified. Colors must use 0-9 and A-F only.'
echo ' Colors should not use a-f since file names are case sensitive.'
exit 1
fi
# If $1 is not exactly six characters long, raise an error.
if ! [ "${#1}" -eq 6 ]; then
echo 'error: Invalid color specified. Colors must be of length 6.'
echo ' This is for the convert function, and is used to help'
echo ' prevent duplicate colors.'
exit 1
fi
# If the color doesn't exist yet, make it.
if ! test -e "$1.png"; then
echo 'status: Color file does not exist yet. Making it...'
convert -size 1x1 "xc:#$1" "$1.png"
fi
# Finally, set the specified color as the background.
echo 'status: Setting the desktop background as the specified color...'
feh --no-fehbg --bg-tile "$1.png"
# We're done here.
echo 'status: Successfully changed the background to the color specified!'

View File

@ -1,17 +0,0 @@
# feh
[feh][feh] is an image viewer with no GUI. It can also change the desktop background.
## Use Cases
feh can be used to:
- Quickly view and browse through images without loading a GUI
- Change your desktop background if not using a desktop environment
- Strategically place GUI-less images in your rice screenshots
You should not use feh if:
- You are using a desktop environment with an image viewer
[feh]: https://github.com/derf/feh

View File

@ -1,80 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
set -U fish_greeting ""
export VISUAL="nvim"
export EDITOR="nvim"
export BROWSER="firefox"
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
export XDG_CURRENT_DESKTOP="KDE"
# Use rg instead of ag / ack / grep for fzf (much faster)
export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"'
export FZF_DEFAULT_OPTS='--height 40% --reverse --border --color=16'
# Required to make gpg-agent work in cases like git commit
export GPG_TTY=(tty)
# Always use the default keybindings in fish
fish_default_key_bindings
# Use exa as a drop-in replacement for ls and tree (faster, more colors, etc.)
alias ls="exa --group-directories-first"
alias tree="exa --group-directories-first --long --tree -I 'node_modules|lib|.git'"
# Abbreviations are aliases that expand
if not set -q set_abbr
set -U set_abbr
abbr g "git"
abbr ga "git add"
abbr gaa "git add --all"
abbr gap "git add --patch"
abbr gb "git branch --verbose" # List all branches
abbr gc "git commit -m"
abbr gca "git commit --amend"
abbr gco "git checkout"
abbr gd "git diff" # Show all file changes not staged yet
abbr gds "git diff --staged" # Show changes staged but not committed
abbr gg "git grep"
abbr gi "git init"
abbr gl "git log --oneline --decorate --all --graph -n 10"
abbr gp "git push" # Push your commits to a remote server
abbr gs "git status"
abbr gss "git status -s"
abbr gr "git reset HEAD~" # Undo the last commit but keep changed files
abbr gre "git remote --verbose" # List all remotes
abbr grh "git reset HEAD"
abbr grr "git reset --hard HEAD~" # Remove the last commit and all changes with it
abbr t "task"
abbr ta "task add"
abbr tc "task completed"
abbr td "task done"
abbr te "task edit"
abbr dl "youtube-dl"
abbr vol "amixer set 'Master'" # Change the volume, e.g. vol 10%+, vol 10%-, vol 100%
abbr copy "xclip -sel clip <" # Easily copy the contents of any file
abbr dog "pygmentize -g" # "dog" is a colorful version of cat
abbr cf "tput reset" # Clear the terminal completely
abbr b "feh --bg-fill" # Change the background
abbr c "clear" # Because 5 letters is too much
abbr e "exit"
abbr l "ls -l"
abbr w "wal -o ~/.config/wal/done.sh"
abbr T "tree"
abbr nano "vim" # The explanation is in the name
abbr emacs "vim" # No need to start another operating system
end
# Start X at login
if status --is-login
if test -z "$DISPLAY" -a $XDG_VTNR = 1
exec startx -- -keeptty
end
end

View File

@ -1,28 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
function fish_prompt
# Use a more informative and non-unicode prompt for ttys
if status --is-login; and test -z "$DISPLAY"
set hostname (hostname)
set_color yellow; echo -n "$USER@$hostname"
set_color normal; echo -n " "
set_color magenta; echo -n "($PWD)"
else
set pwd (basename $PWD)
if [ $pwd = $USER ]
set pwd "~"
end
set_color magenta; echo -n "$pwd"
set_color normal; echo -n " "
set_color red; echo -n "➤"
set_color green; echo -n "➤"
set_color blue; echo -n "➤"
end
set_color normal; echo -n " "
end

View File

@ -1,17 +0,0 @@
# fish
[fish][fish] is the friendly interactive shell.
## Use Cases
fish can be used to:
- Have syntax highlighting in the terminal with 0 configuration
- Have leading autocompletion in the terminal with 0 configuration
- Set abbreviations instead of aliases, making it easy to remember what aliases expand to
You should not use fish if:
- You should use fish.
[fish]: https://github.com/fish-shell/fish-shell

298
flake.lock generated Normal file
View File

@ -0,0 +1,298 @@
{
"nodes": {
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1689633990,
"narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "dddf2e1c04845d43c89a8e9e37d574519649a404",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-alacritty": {
"flake": false,
"locked": {
"lastModified": 1674275109,
"narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=",
"owner": "aarowill",
"repo": "base16-alacritty",
"rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7",
"type": "github"
},
"original": {
"owner": "aarowill",
"repo": "base16-alacritty",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-foot": {
"flake": false,
"locked": {
"lastModified": 1696725948,
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=",
"owner": "tinted-theming",
"repo": "base16-foot",
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-foot",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1696727917,
"narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-kitty": {
"flake": false,
"locked": {
"lastModified": 1665001328,
"narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=",
"owner": "kdrag0n",
"repo": "base16-kitty",
"rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805",
"type": "github"
},
"original": {
"owner": "kdrag0n",
"repo": "base16-kitty",
"type": "github"
}
},
"base16-tmux": {
"flake": false,
"locked": {
"lastModified": 1696725902,
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=",
"owner": "tinted-theming",
"repo": "base16-tmux",
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-tmux",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1663659192,
"narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=",
"owner": "chriskempson",
"repo": "base16-vim",
"rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d",
"type": "github"
},
"original": {
"owner": "chriskempson",
"repo": "base16-vim",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1689549921,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1704980804,
"narHash": "sha256-lPNNKdPqIYcjhhYIVwlajNt/HqVWbMOoSdNnwCvOP04=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "93e804e7f8a1eb88bde6117cd5046501e66aa4bd",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1704916437,
"narHash": "sha256-aE35YzfCrPPiBoCOKt0/GLd/Qar0Qq2VtUuC5XrY2Qk=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5fcfdd4990ab907895fe9bcb1e2e4083d92ca670",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"sakaya": "sakaya",
"stylix": "stylix"
}
},
"sakaya": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"utils": "utils"
},
"locked": {
"lastModified": 1702621386,
"narHash": "sha256-xssBjmGgci4+6hz7Wwt1suxW1ZzKgYV3bDH31GDEghI=",
"owner": "donovanglover",
"repo": "sakaya",
"rev": "14e585b2a3fc969ee118e09b476dd4a1b10d19c2",
"type": "github"
},
"original": {
"owner": "donovanglover",
"repo": "sakaya",
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-alacritty": "base16-alacritty",
"base16-fish": "base16-fish",
"base16-foot": "base16-foot",
"base16-helix": "base16-helix",
"base16-kitty": "base16-kitty",
"base16-tmux": "base16-tmux",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat",
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1704308480,
"narHash": "sha256-88ICCdJyYYtsolRnPhI9IF+bhUIVUyhJ7nrKcKPgf6M=",
"owner": "danth",
"repo": "stylix",
"rev": "9bc1900b6888efdda39c2e02c7c8666911b72608",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

31
flake.nix Normal file
View File

@ -0,0 +1,31 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
sakaya = {
url = "github:donovanglover/sakaya";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, ... } @ attrs: {
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = attrs;
modules = [ ./. ];
};
};
}

View File

@ -1,47 +0,0 @@
[include]
path = ~/.gituser
# Always sign commits
[commit]
gpgsign = true
[core]
editor = vim
autocrlf = false
pager = diff-so-fancy | less --tabs=4 -RFX
excludesfile = ~/.gitignore
[web]
browser = firefox
[push]
default = simple
[branch]
autosetuprebase = always
[rerere]
enabled = true
[color]
ui = true
[alias]
contrib = shortlog -n -s
remotes = remote -v
praise = blame
verify = log --show-signature
[color "diff-highlight"]
oldNormal = red bold
oldHighlight = red bold 52
newNormal = green bold
newHighlight = green bold 22
[color "diff"]
meta = yellow
frag = magenta bold
commit = yellow bold
old = red bold
new = green bold
whitespace = red reverse

9
git/.gitignore vendored
View File

@ -1,9 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
# Don't track temporary vim files
*~
.*.sw*
# Don't track Plasma directory files
.directory

View File

@ -1,6 +0,0 @@
# This .stow-local-ignore file is used to prevent stow from
# ignoring the .gitignore file by default.
#
# https://www.gnu.org/software/stow/manual/stow.html#Ignore-Lists
README.md

View File

@ -1,33 +0,0 @@
# Git
[Git][git] is the standard version control tool.
# Use Cases
Git can be used to:
- Keep track of file changes over time
- Keep a record of all contributors to a code base
- Rollback to a previous version of a project
- Create snapshots of a project with tags (also known as versions)
You should not use Git if:
- You are dealing with binary files
- You are dealing with large files that change often
## Usage
First, install [diff-so-fancy][diff-so-fancy], an amazing git diff utility.
Then, create a `~/.gituser` with the following:
```gitconfig
[user]
name = <the name you use for git commits>
email = <the email you use for git commits>
signingkey = <the subkey you use to sign git commits>
```
[git]: https://github.com/git/git
[diff-so-fancy]: https://github.com/so-fancy/diff-so-fancy

View File

@ -1,5 +0,0 @@
#!/bin/sh
# Use the 'best' antialiasing settings for modern displays
gsettings set org.gnome.settings-daemon.plugins.xsettings antialiasing rgba
gsettings set org.gnome.settings-daemon.plugins.xsettings hinting full

View File

@ -1,5 +0,0 @@
#!/bin/sh
# Use the dark variant of the Arc GTK theme
gsettings set org.gnome.desktop.interface gtk-theme Arc-Dark-solid
gsettings set org.gnome.desktop.interface icon-theme Papirus-Dark

View File

@ -1,4 +0,0 @@
#!/bin/sh
# Use Plasma's default cursor theme in GNOME
gsettings set org.gnome.desktop.interface cursor-theme breeze_cursors

View File

@ -1,7 +0,0 @@
#!/bin/sh
# Use the Alternate Tab and Launch New Instance extensions
gsettings set org.gnome.shell enabled-extensions "[
'alternate-tab@gnome-shell-extensions.gcampax.github.com',
'launch-new-instance@gnome-shell-extensions.gcampax.github.com'
]"

View File

@ -1,5 +0,0 @@
#!/bin/sh
# Use the light variant of the Pop GTK theme
gsettings set org.gnome.desktop.interface gtk-theme Pop
gsettings set org.gnome.desktop.interface icon-theme Pop

View File

@ -1,16 +0,0 @@
# GNOME
[GNOME][gnome] is a simple desktop environment with X11 and Wayland support. It includes an interface that works well with touch devices.
## Use Cases
GNOME can be used to:
- Have a desktop environment that just works, with no configuration necessary
You should not use GNOME if:
- You want to learn how X works behind the scenes
- You want complete control of your desktop environment
[gnome]: https://wiki.archlinux.org/index.php/GNOME

View File

@ -1,13 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017 Donovan Glover
# Use the terminal instead of a GTK window when prompting for passwords
pinentry-program /usr/bin/pinentry-curses
# Cache the given input for 12 hours
default-cache-ttl 43200
# Invalidate the cache entry after 12 hours have passed
max-cache-ttl 43200
# vim:ft=dosini

View File

@ -1,46 +0,0 @@
# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2017-2018 Donovan Glover
# 1. Use a keypool (specifically sks) instead of a regular keyserver
# 2. Use hkps to ensure a secure connection (hkp is to GPG as what http is to the web)
keyserver hkps://hkps.pool.sks-keyservers.net
# Ignore all other keyservers since they may be malicious, whether intentional or not.
# This prevents pulling keys from a specific keyserver and forces GPG to use the keypool
keyserver-options no-honor-keyserver-url
# Use SHA512 instead of SHA256
personal-digest-preferences SHA512
cert-digest-algo SHA512
# Use AES256 instead of AES128 or CAST5
cipher-algo AES256
# Prefer encryption algorithms in this order
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
personal-cipher-preferences TWOFISH CAMELLIA256 AES 3DES
# Prevent the recipient id from being leaked in the message
throw-keyids
# Always show long key IDs
keyid-format 0xlong
# Always show full fingerprints of keys
with-fingerprint
# Never show the version number (should be default)
no-emit-version
# Never use comments (should be default)
no-comments
# Always use utf-8
display-charset utf-8
# Always view user IDs distinctly from keys (should be default)
fixed-list-mode
# Always show user ID validity (should be default)
verify-options show-uid-validity
list-options show-uid-validity

View File

@ -1,26 +0,0 @@
# GPG
GPG is the standard encryption tool.
## Use Cases
gpg can be used to:
- Sign things with your signing subkey
- Read encrypted messages sent to you with your encryption subkey
- Send encrypted messages to other people with their public key
- Verify the authenticity of someone's messages and other data with their public key
You should not use gpg if:
- You should use gpg.
## Usage
Export `GPG_TTY` in your shell's init script. This is how you would do it in [fish](/fish):
```fish
export GPG_TTY=(tty)
```
[gnupg]: https://github.com/gpg/gnupg

View File

@ -1,10 +0,0 @@
[Settings]
gtk-cursor-theme-name=breeze_cursors
gtk-cursor-theme-size=36
gtk-font-name=Cantarell 11
gtk-icon-theme-name=Papirus-Dark
gtk-theme-name=Arc-Dark-solid
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb

View File

@ -1,18 +0,0 @@
# gtk-settings
[GTK][gtk] is the widget toolkit used by Firefox, Electron, and many (if not all) GNOME applications.
GTK's `settings.ini` only affects window managers and not the GNOME desktop environment. This is because GNOME manages user preferences with [`dconf` through `gsettings`][gnome].
## Use Cases
gtk-settings can be used to:
- Control the appearance of GTK applications under non-GNOME environments
You do not need to use gtk-settings if:
- You are using the GNOME desktop environment
[gtk]: https://wiki.archlinux.org/index.php/GTK+
[gnome]: https://wiki.archlinux.org/index.php/GNOME#Configuration

5
hardware/default.nix Normal file
View File

@ -0,0 +1,5 @@
{
imports = [
./laptop.nix
];
}

Some files were not shown because too many files have changed in this diff Show More