Commit Graph

479 Commits

Author SHA1 Message Date
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
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
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
1792154814
hyprland: Re-enable fullscreen inheriting 2023-07-03 00:13:33 -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
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
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
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
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
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
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
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
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
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
a78151b9c5
neovim: Don't hardcode base16 theme 2023-06-25 20:25:20 -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
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
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
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
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
e63b2c9122
joshuto: Add dependencies 2023-06-22 21:38:55 -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
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
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
82739571c6
waybar: Change color if fullscreen 2023-06-22 07:18:02 -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
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
0cd00a7734
chore: Formatting 2023-06-21 03:09:22 -04:00
Donovan Glover
ec418619ab
meta: Replace crystal-flake with nixpkgs-crystalline 2023-06-20 08:30:20 -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
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
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
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
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
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
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
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
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
ce727de65b
neovim(nvim-tree): Highlight default.nix 2023-06-16 12:53:18 -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
181ea09092
meta: Use separate directory for home-manager modules 2023-06-16 08:13:34 -04:00