Commit Graph

592 Commits

Author SHA1 Message Date
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
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
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
a18a120634 system: Clean /tmp on boot
Necessary since /tmp is no longer a tmpfs.
2024-04-03 21:28:53 -04:00
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
a3717c48f0 chore: Simplify fish module 2024-04-03 20:07:00 -04:00
2048bc62f8 chore: Simplify thunar module 2024-04-03 09:59:32 -04:00
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
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
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
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
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
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
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
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
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
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
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
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
b8ad062cec nix: Use lib.singleton where possible 2024-04-02 18:53:56 -04:00
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
42bcd16f65 meta(nix): Replace inline YAML with builtins.toJSON 2024-04-02 16:31:23 -04:00
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
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
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
24c4badf39 meta: Make containers a nixosModule
Makes it easier to use the containers in other configs.
2024-04-01 06:24:52 -04:00
12464e8b65 chore: Improve formatting
No need to write stylix so many times.
2024-04-01 06:17:02 -04:00
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
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
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
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
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
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
488b7a61de packages: Drop slade
Fixes an issue where slade was causing manual compiles among other
things.
2024-03-23 18:14:54 -04:00
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
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
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
32e443fbcd chore: Update flake inputs 2024-03-08 19:56:40 -05:00
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
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
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
48f9d1a87f virtualization: Decrease memory size from 8GB to 4GB 2024-03-05 19:26:12 -05:00
f7df16b6a1 chore: Update to latest nixos-unstable release 2024-03-05 19:17:23 -05:00
1d448a5289 zram: Increase memory percent to 100%
See https://github.com/NixOS/nixpkgs/issues/103106
2024-03-05 19:10:25 -05:00
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
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
89722f8d47 packages: Add mgitstatus
Also adds an abbreviation for mgitstatus.
2024-02-18 23:56:42 -05:00
1464bd85bc fish: Add abbreviation for cargo test 2024-02-18 23:56:11 -05:00
77bbe4ff61 fish: Add abbreviations for pnpm 2024-02-15 23:55:01 -05:00
3d65f10068 fish: Don't limit df to ext4
Important since I now use btrfs.
2024-02-08 22:55:45 -05:00