Commit Graph

619 Commits

Author SHA1 Message Date
Donovan Glover
7b234dfb19
chore: Add missing inherit
Also fixes an issue with mkMerge requiring things to be written
like this.
2024-04-05 07:10:30 -04:00
Donovan Glover
db5b95e983
nix: Prefer let-in over with
Fixes an issue where it's possible to write code that the linter thinks
is valid since with; is used.
2024-04-04 20:05:10 -04:00
Donovan Glover
b46c9a05a9
meta: Continue modularizing packages
Should make it easier to know what's what.
2024-04-04 20:03:31 -04:00
Donovan Glover
a6f2c58d51
meta: Don't hardcode home directory
This is a much better way of handling things.
2024-04-04 19:39:35 -04:00
Donovan Glover
6f1b17a600
meta: Merge postgres module with shell
Realistically this might be more related to "system" than shell, however
it may also be advantageous to keep system as minimal as possible since
it could also be argued that interpreted programming languages are a
part of the system.
2024-04-04 18:37:44 -04:00
Donovan Glover
8d4a7f780c
postgres: Ensure creation of database users
This is just a proof of concept that I plan to integrate into NixOS
containers running specific users. The ensureDBOwnership part would no
longer be needed since each database would receive its own container
and consequently user.
2024-04-04 17:44:21 -04:00
Donovan Glover
7f05a66fa5
feat: Make username customizable
Now it's possible to use whatever username you want for your system. The
default value of "user" is good if you're concerned about information
disclosure attacks through things like the username being visible in
logs or other output.
2024-04-04 16:36:28 -04:00
Donovan Glover
558e0b1623
meta: Merge home-manager and user module with system
Makes it easier to create a working and pre-configured system with
minimal configuration.
2024-04-04 16:02:35 -04:00
Donovan Glover
dd38bf1c4c
meta: Begin making shell module customizable 2024-04-04 12:25:15 -04:00
Donovan Glover
a03963d1f7
meta: Merge wine module with desktop
Makes it easier to just import the desktop module and use everything we
want.
2024-04-04 12:19:47 -04:00
Donovan Glover
764fbd4917
Revert "meta: Migrate yazi from home-manager to shell module"
There is currently a bug where yazi crashes since it tries to create
directories but is unable to due to being managed at the system level.

There is an open PR in nixpkgs, however it's been 3 weeks and it hasn't
been merged yet.
2024-04-04 12:15:40 -04:00
Donovan Glover
e64cc2697f
meta: Migrate yazi from home-manager to shell module
This is a part of making it easier to instantly have access to yazi
without having to worry about using home-manager. Note that this works
for my use case since I don't use Nix on non-NixOS devices and don't
intend to do so anytime soon.
2024-04-04 12:14:26 -04:00
Donovan Glover
cd5f0793d7
meta: Merge stylix module with desktop
This continues the process of simplifying the available modules for
end-users. The final result would be having a clear set of modules like
"desktop" and "shell" that can be enabled if users want a complete
Hyprland environment or a complete shell environment.

Enabling the stylix module "only" would be a low-tech solution and at
that point it'd likely be better for end-users to take complete control
of their stylix config with their own module.
2024-04-04 11:15:39 -04:00
Donovan Glover
dab608bb6c
meta: Merge thunar module with desktop
Thunar is an opinionated file manager that we're using as the GUI
application of choice because it handles directories with large files
*significantly* better than Nautilus. It also supports image previews
for files that have been trashed, as well as a slew of other convenience
features such as a built-in auto-renaming tool.
2024-04-04 10:14:15 -04:00
Donovan Glover
dd72842221
home-manager: Make autocomplete work for man pages
This fixes an issue where packages installed with home-manager wouldn't
appear when tabbing to auto-complete man pages.
2024-04-04 09:43:00 -04:00
Donovan Glover
7ef220be22
meta: Make system module customizable 2024-04-04 09:41:32 -04:00
Donovan Glover
e1e1243618
meta: Migrate htop from home-manager to shell module
Realistically I want access to htop on any machine running my shell
configuration. Making this NixOS-specific removes some of the dependence
on home-manager as well.
2024-04-04 08:32:39 -04:00
Donovan Glover
a1b9cf218d
meta: Begin migrating packages to workflow-specific modules
Long-term this should make it easy to include all the GUI programs with
the desktop module and all the CLI programs with the shell module, as
well as the ability to easily disable sets of unneeded packages.
2024-04-04 08:12:16 -04:00
Donovan Glover
ff99d22caf
chore: Replace lib.types.string with str
"string" is deprecated.
2024-04-04 07:58:32 -04:00
Donovan Glover
dae5ca4b03
meta: Rename hyprland module to desktop
This is the start of making it possible to include desktop-related
configuration options instead of only hyprland-related ones.

This simplifies things a bit since opinionated configurations can be
hidden behind an option and end users won't have to worry about all
the different possible modules they could import.
2024-04-04 05:45:12 -04:00
Donovan Glover
9ee08ca7eb
meta: Begin making hyprland module customizable
This is a part of simplifying the hyprland module to simply "desktop".
2024-04-04 05:38:23 -04:00
Donovan Glover
3da9c62869
meta: Add options for networking module
Now it's possible to use the system without mullvad vpn.
2024-04-04 05:28:54 -04:00
Donovan Glover
ecb2463ee7
meta: Merge mullvad module with networking
It should be fairly straight-forward to add an option that explicitly
enables mullvad and the associated networking rules.
2024-04-04 04:24:54 -04:00
Donovan Glover
a18125eaf9
meta: Use mkIf for hardware-specific config
Should make it easier to use this config without pulling in
the hardware-specific stuff.
2024-04-04 00:25:08 -04:00
Donovan Glover
941ef546e5
meta: Merge fonts module with hyprland
This makes sense since fonts are part of the desktop and should be
included at the same time when using the hyprland module.
2024-04-03 23:13:18 -04:00
Donovan Glover
698994b62d
meta: Merge greetd module with hyprland
This change is a part of making the desktop-specific stuff its own
module. Note that importing the entire hyprland module into the wine
container doesn't seem to change anything, so simplifying and including
everything in this module should be fine.
2024-04-03 23:03:10 -04:00
Donovan Glover
82966406a4
meta: Merge starship module with shell
I originally separated these modules to avoid "opinionated" options like
neovim as the default editor. Now I realize however that it's easier to
load all opinionated settings by default since users can change them
either through the original options or with module-specific options.
2024-04-03 21:51:10 -04:00
Donovan Glover
a787713d8d
meta: Rename fish module to shell
By making this module more generic, it becomes possible to include CLI
programs and other applications as part of the "shell", then provide
options for users to enable or disable things as needed.
2024-04-03 21:43:11 -04:00
Donovan Glover
38e82be380
meta: Merge pipewire module with hyprland
Realistically if hyprland is being used then the user *probably* wants
audio as well, so merging them makes sense here.

This commit is a part of ultimately having a single module for "desktop"
usage.
2024-04-03 21:40:38 -04:00
Donovan Glover
e44b145164
meta: Merge neovim module with starship
This is a part of making a separate "shell" module that can be used to
provide a standard base of tools when working in headless environments.
2024-04-03 21:37:08 -04:00
Donovan Glover
a18a120634
system: Clean /tmp on boot
Necessary since /tmp is no longer a tmpfs.
2024-04-03 21:28:53 -04:00
Donovan Glover
d452e982e3
fish: Add nix flake check abbreviation
More useful now that it's also used for VM testing.
2024-04-03 20:07:35 -04:00
Donovan Glover
a3717c48f0
chore: Simplify fish module 2024-04-03 20:07:00 -04:00
Donovan Glover
2048bc62f8
chore: Simplify thunar module 2024-04-03 09:59:32 -04:00
Donovan Glover
019603afc7
meta: Begin making system module customizable
These options are pretty important so it'd be cool to be able to change
them. Current strategy is to assume that configuration through the
module is preferred over overriding the NixOS option directly.
2024-04-03 09:44:57 -04:00
Donovan Glover
26348c28ea
chore(modules): Rename piper to hardware
Might rename again in the future, but for now this is an easy way to
keep track of all hardware-specific config.
2024-04-03 09:33:15 -04:00
Donovan Glover
1f80607ca0
meta: Merge zram module with system
Self-explanatory since zram is system-related. Doesn't seem to affect
containers which is good.
2024-04-03 09:16:24 -04:00
Donovan Glover
13d98c2c9f
meta: Merge nix and systemd modules with system
These are simple enough configurations that have benefits across many
different systems.
2024-04-03 08:06:04 -04:00
Donovan Glover
85ead9e779
meta: Merge boot module with system
This seems like it could fit with the hardware module as well, however
time will tell if we're able to keep this in system when importing it
into containers and virtual machines.

Note that boot.loader.efi.canTouchEfiVariables gets set to true during
the nixos-install process, so it should be okay to keep here.
2024-04-03 07:43:43 -04:00
Donovan Glover
cc3991a38a
meta: Merge timezone and locale with system
Usually one would want to define all of these options at the same time,
so it doesn't make sense to require importing several different modules.

For values that aren't needed, users can either override the configuration
in their own module or use an option that has been written upstream for the
module.
2024-04-03 07:15:30 -04:00
Donovan Glover
2452f61338
meta: Merge logind with piper
This is a part of putting hardware-related configs together so they
don't distract from the other shell-related and desktop-related configs.
2024-04-03 07:12:41 -04:00
Donovan Glover
2e64dbd3e3
meta: Drop docker (again)
Docker feels a bit too old school after being spoiled by the Nix
language and all the features that NixOS provides. Dockerfiles are not
as cool to write as Nix files and docker-compose.yml lacks many of the
reproducible benefits one gets from sticking with Nix.

Now that I have more experience with Nix, it should be possible for me
to build and run the services I want to run with Nix instead of Docker.
This should additionally reduce my personal machine's startup time,
which was already quite low with Hyprland.

As a final closing, expertise in Nix seems more useful than Docker for
my personal goals. I'd rather be able to control entire Linux systems
and their full environments with containers, virtual machines, and other
goodies than be restricted to the simplistic model that is Docker.
2024-04-03 07:05:40 -04:00
Donovan Glover
039cf97368
meta: Merge udev with piper
This is part of merging all hardware-specific config into one module.
2024-04-03 06:29:07 -04:00
Donovan Glover
7f97bb62c2
meta: Merge services.resolved.llmnr with networking
Link-Local Multicast Name Resolution is networking related and should be
of interest to users that are also interested in the networking module.
2024-04-03 06:19:08 -04:00
Donovan Glover
8e16a465e1
meta: Merge cdemu with wine
The cdemu module is wine-specific and should be enabled together with
the wine module, with an option for the user to disable it if desired.
2024-04-03 06:01:32 -04:00
Donovan Glover
ea4c8d16dd
specializations: Make opt-in with mkEnableOption
Specializations basically double the build time for each one added, so
requiring users to explicitly enable it means quicker build times for
those that prefer Hyprland (which is easier to configure declaratively).
2024-04-03 02:46:42 -04:00
Donovan Glover
b8ad062cec
nix: Use lib.singleton where possible 2024-04-02 18:53:56 -04:00
Donovan Glover
39cdc4972e
meta(dual-function-keys): Improve readability
Adds a few variables to make things easier to reason about.
2024-04-02 17:19:07 -04:00
Donovan Glover
42bcd16f65
meta(nix): Replace inline YAML with builtins.toJSON 2024-04-02 16:31:23 -04:00
Donovan Glover
6dde83cea9
fish(nix-collect-garbage): Delete user garbage as well
Fixes an issue where user-specific stuff never got cleaned up from the
nix store.
2024-04-02 14:34:48 -04:00
Donovan Glover
35b677c46d
dual-function-keys: Change KEY_GRAVE to right alt
Should avoid conflicts where tapping the shift key in succession is
necessary.
2024-04-01 19:43:42 -04:00
Donovan Glover
9b4d9c8bf5
meta: Make specializations a nixosModule
Now it's possible to use the specializations in arbitrary configs. Note
that specializations do slow things down a bit so they may be disabled
by default in the future.
2024-04-01 06:27:08 -04:00
Donovan Glover
24c4badf39
meta: Make containers a nixosModule
Makes it easier to use the containers in other configs.
2024-04-01 06:24:52 -04:00
Donovan Glover
12464e8b65
chore: Improve formatting
No need to write stylix so many times.
2024-04-01 06:17:02 -04:00
Donovan Glover
44422516d4
feat(nix): Automatically import module outputs
This drastically simplifies things since we no longer have to worry
about adding and removing files from a default.nix.
2024-03-31 19:23:12 -04:00
Donovan Glover
94a43d1888
fonts: Fix fontconfig mono font
Might remove this later since stylix is used for the fonts instead.
2024-03-31 15:35:14 -04:00
Donovan Glover
23049a3e99
meta: Switch from joshuto to yazi
After almost a year of using joshuto, I have decided to switch to yazi.

The latest joshuto update broke my image preview configuration, and it
didn't make sense trying to figure out the issue with yazi already
having built-in image support and more.

Other notable improvements from this change include:

- Simplified configuration since defaults no longer have to be
  re-declared
- Faster directory loading, especially for /nix/store/ and symlinks to
  /nix/store/
- Text files are more likely to show previews without manual
  configuration
- Videos now have working previews again, similar to ranger
2024-03-30 18:20:01 -04:00
Donovan Glover
6cab0f25a5
chore: Update packages
Dropped GUI programs I no longer use and added qdirstat as a cool
alternative to windirstat.
2024-03-30 16:44:28 -04:00
Donovan Glover
682e95ef1c
chore: Drop unused packages
I only used inkscape to convert svg to png with the following command:
`fd -e svg -x inkscape -w 512 -h 512 "{}" -o "{.}.png"`

gthumb was crashing and I'd rather not have to deal with a non-trivial
GUI program that crashes on launch.

nb and obsidian are cute but ultimately I found quartz to be better for
my use case.
2024-03-29 10:16:04 -04:00
Donovan Glover
e208178502
chore: Update packages
Got tired of manually updating the osu! hash each time so now
allowUnfree is being used for the time being.
2024-03-25 14:23:14 -04:00
Donovan Glover
488b7a61de
packages: Drop slade
Fixes an issue where slade was causing manual compiles among other
things.
2024-03-23 18:14:54 -04:00
Donovan Glover
0151098d47
chore: Update flake inputs
Notable changes include upgrading to Plasma 6 in the DE specialization
as well as updating the pqiv config to work with the latest home-manger
change.
2024-03-22 12:22:23 -04:00
Donovan Glover
6e23ae9c4c
chore: Update to latest nixos-unstable release
- Removed old hyprlang/hyprlock overlays that are now in nixos-unstable
- Replaced pnpm-shell-completion with the one upstream
- Changed old GPG option to new one
2024-03-17 00:20:04 -04:00
Donovan Glover
fa1650198f
chore: Drop unused packages
tui-journal was cool and although it could work, it's not really worth
it over taking advantage of what Logseq has to offer.
2024-03-09 11:42:19 -05:00
Donovan Glover
32e443fbcd
chore: Update flake inputs 2024-03-08 19:56:40 -05:00
Donovan Glover
c836aa7f79
dual-function-keys: Make left shift KEY_GRAVE
Fixes an issue where ` wouldn't work in neovim due to the escape key
being recognized as pressed.
2024-03-07 22:21:36 -05:00
Donovan Glover
e67230b282
meta: Switch from swaylock to hyprlock
hyprlock matches the other animations of hyprland a bit better and is
overall more pleasant to work with.
2024-03-07 22:19:02 -05:00
Donovan Glover
093f085630
udev: Disable internal keyboard for now
Necessary since the current keyboard has too many broken keys.
2024-03-07 21:55:54 -05:00
Donovan Glover
48f9d1a87f
virtualization: Decrease memory size from 8GB to 4GB 2024-03-05 19:26:12 -05:00
Donovan Glover
f7df16b6a1
chore: Update to latest nixos-unstable release 2024-03-05 19:17:23 -05:00
Donovan Glover
1d448a5289
zram: Increase memory percent to 100%
See https://github.com/NixOS/nixpkgs/issues/103106
2024-03-05 19:10:25 -05:00
Donovan Glover
d5c7fe6083
meta: Drop tmpfs for /tmp
Less useful when running on machines with lower amounts of RAM.
2024-03-04 16:22:11 -05:00
Donovan Glover
6d047a9567
chore: Update to latest nixos-unstable-small release
cargo-audit has been dropped to fix an issue with libgit2, which should
be fixed in 1-2 weeks or so. Additionally, nvim-base16 has been renamed
to base16-nvim, which is currently only recognized on -small.
2024-02-19 08:28:34 -05:00
Donovan Glover
89722f8d47
packages: Add mgitstatus
Also adds an abbreviation for mgitstatus.
2024-02-18 23:56:42 -05:00
Donovan Glover
1464bd85bc
fish: Add abbreviation for cargo test 2024-02-18 23:56:11 -05:00
Donovan Glover
77bbe4ff61
fish: Add abbreviations for pnpm 2024-02-15 23:55:01 -05:00
Donovan Glover
3d65f10068
fish: Don't limit df to ext4
Important since I now use btrfs.
2024-02-08 22:55:45 -05:00
Donovan Glover
96ba7452fb
stylix: Make Aleo default serif font 2024-02-08 22:52:14 -05:00
Donovan Glover
56475023ed
pipewire: Drop low latency patch
This was actually causing audio crackling issues when playback rapidly
changed in wine.
2024-02-03 05:51:16 -05:00
Donovan Glover
2d703c8efd
chore: Update flake inputs 2024-01-31 07:30:28 -05:00
Donovan Glover
240a3e8355
virtualization: Disable containers
Not needed inside the VM.
2024-01-31 04:33:38 -05:00
Donovan Glover
81ec4473c2
fish: Remove yarn alias
Not needed since yarn now uses v3 by default.
2024-01-27 23:57:14 -05:00
Donovan Glover
68bcfce997
meta: Add postgres
Useful for testing purposes without having to spin up a docker
container.
2024-01-25 17:32:47 -05:00
Donovan Glover
c7f4111055
chore: Update to latest nixos-unstable release 2024-01-19 00:59:55 -05:00
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
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
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
78b7efb192
chore: Update packages 2024-01-05 19:09:04 -05:00
Donovan Glover
860708e232
chore: Update flake inputs
This shouldn't break anything.
2024-01-02 18:18:39 -05:00
Donovan Glover
d5fe4c2118
chore: Update flake inputs 2023-12-26 16:44:10 -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
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
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
c9e52534d2
chore: Update flake inputs
emmet-language-server is now in nixos-unstable.
2023-12-04 14:34:48 -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
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
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
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
ad9500925d
fish: Add nixpkgs-review abbreviation 2023-11-19 06:37:50 -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
2553258bc3
fish: Add abbreviation for zathura 2023-11-14 10:37:30 -05:00
Donovan Glover
c115dd88ef
chore: Update to latest nixos-unstable release 2023-11-03 19:37:26 -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
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
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
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
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
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
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
291e00f102
chore: Update flake inputs 2023-10-10 18:22:08 -04:00
Donovan Glover
998d574580
chore: Fix nix-collect-garbage abbreviation 2023-09-30 20:56:42 -04:00
Donovan Glover
90cdfa1bcd
fish: Add bun abbreviations 2023-09-27 12:33:26 -04:00
Donovan Glover
d3aa3bf65a
packages: Uncomment fixed package builds 2023-09-27 12:32:35 -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
3187b2efcf
networking: Allow zola port 2023-09-12 15:21:19 -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
460b60bb9f
chore: Update packages 2023-08-31 12:39:37 -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
a15fd23b9b
feat: Style cmus with stylix
Based on https://github.com/averms/base16-cmus
2023-08-29 21:00:15 -04:00
Donovan Glover
8df146e353
packages: Rename go-thumbnailer to thud 2023-08-19 22:16:43 -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
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
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
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
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
b3c95ed4f2
fish(abbreviations): Add cargo tree 2023-08-07 20:22:56 -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
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
6447c0c30e
fish: Add nix abbreviations 2023-08-01 22:23:06 -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
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
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
dcea42f899
chore: Update packages 2023-08-01 12:31:14 -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
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
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
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
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
61cd0b77a2
fish: Add git cherry-pick -x abbreviation 2023-07-22 13:23:24 -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
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
a8c472a314
chore: Remove unnecessary comments 2023-07-18 07:19:49 -04:00
Donovan Glover
d67db4ec21
chore: Update packages 2023-07-15 18:57:17 -04:00
Donovan Glover
00a1c99987
networking: Allow srb2 port 2023-07-15 17:02:55 -04:00
Donovan Glover
24e4a3b9a3
fish: Add trash abbreviations 2023-07-15 12:42:12 -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
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
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
5d351cf6b2
chore: Update packages 2023-07-09 17:46:53 -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
a152284a63
chore: Formatting 2023-07-05 11:24:58 -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
a9362bfd7d
chore: Update packages 2023-07-04 12:18:00 -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
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
a982615430
stylix: Increase opacity 2023-07-02 14:34:07 -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
41f3c5e18c
chore: Update packages 2023-07-01 14:21:54 -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
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
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
ae1ad321a3
stylix: Use monokai by default
It's simple and gets the job done.
2023-06-29 11:37:21 -04:00
Donovan Glover
d0b8300bea
stylix: Use variable for font-size 2023-06-27 04:46:28 -04:00
Donovan Glover
48fa7d1512
chore: Update packages 2023-06-26 18:50:57 -04:00
Donovan Glover
62207c05fa
chore: Formatting
Also removes redundant comments.
2023-06-26 18:38:45 -04:00
Donovan Glover
bcbadcfc23
stylix: Use single variable for opacity 2023-06-26 12:01:14 -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
2a6536337f
gamemode: Fix error from typo 2023-06-25 18:18:38 -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
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
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
c6e3513a5d
meta: Use packages module
May or may not separate or split this later.
2023-06-22 12:09:26 -04:00
Donovan Glover
1eb77fd467
modules: Add system 2023-06-22 11:54:12 -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
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
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
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
3283aebbd8
modules: Add wine
Useful to remember why I set this option.
2023-06-22 07:17:01 -04:00
Donovan Glover
71b23e9bf3
modules: Add cdemu
NixOS makes this so easy.
2023-06-22 06:55:54 -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
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
5694bbc450
nix: Modularize locale and timezone 2023-06-21 02:35:43 -04:00
Donovan Glover
ac801ad5bf
fish: Add abbreviation for git branch --delete 2023-06-20 12:04:28 -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
83b6ce6e2d
nix: Continue modularization 2023-06-19 05:13:04 -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
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
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
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
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
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
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