My NixOS configuration with Nix Flakes, Home Manager, Stylix, and Hyprland.
Go to file
Donovan Glover 078fd93168
Revert "overlays: Update picom to v12-rc2 for animations"
After trying the new picom animations for a bit they're a bit too janky
compared to the animations in Hyprland. The "geometry" trigger
replicated the tiling animation when swapping windows, however this came
at the cost of transparency being broken during the animation and the
easing in general not being comparable to Hyprland.

Further issues include the usage of animations breaking fade in/out
support for windows, which I found less intrusive than the appear /
disappear presets with not-so-subtle easing. Using the geometry trigger
also meant that switching tags in dwm had a slide in effect, which felt
disruptive compared to the usual feeling of dwm.

Other issues included the increased probability of things not being
drawn correctly (for example, an animation that "hangs" while in the
middle of animating) and a slightly annoying fade effect every time
windows changed in size such as when toggling fullscreen.

The config used is below for reference, however after trying picom
animations dwm feels considerably better without them.

```
animations = (
  {
    triggers = ["open"];
    preset = "appear";
    scale = 0.5;
  },
  {
    triggers = ["close"];
    preset = "disappear";
    scale = 0.5;
  },
  {
    triggers = ["geometry"];
    preset = "geometry-change";
    duration = 0.5;
  },
);
```
2024-08-23 20:17:36 -04:00
.github ci: Add check with nixf-tidy 2024-08-08 22:44:02 -04:00
assets dwm: Add patch to remove floating indicator 2024-08-22 21:43:38 -04:00
containers treewide(nix): Remove duplicate attribute name usage 2024-08-10 20:55:46 -04:00
example example: Format with nixfmt-rfc-style 2024-08-03 14:31:14 -04:00
home chore: Improve formatting 2024-08-22 16:44:54 -04:00
hosts Revert "phone: Enable mmsd for MMS messages" 2024-08-20 22:37:05 -04:00
lib treewide: Format remaining files with nixfmt-rfc-style 2024-08-03 14:49:00 -04:00
modules system: Set default phone password to 1234 2024-08-18 16:59:55 -04:00
overlays Revert "overlays: Update picom to v12-rc2 for animations" 2024-08-23 20:17:36 -04:00
packages phosh-backgrounds: Set version information 2024-08-17 15:23:40 -04:00
specializations dwm: Add CJK and emoji fonts for bar 2024-08-23 15:08:10 -04:00
tests chore: Format with nix fmt 2024-08-03 15:27:04 -04:00
.gitignore Update .gitignore 2023-05-10 22:19:36 -04:00
cover.jpg docs: Add new cover image 2023-09-12 16:09:08 -04:00
flake.lock flake: Update mmsd-tng from 1.12.1 to 2.6.1 2024-08-17 15:18:34 -04:00
flake.nix flake: Add rycee/firefox-addons 2024-08-15 23:36:09 -04:00
LICENSE chore: Update LICENSE 2024-01-02 18:19:51 -05:00
README.md docs: Change link to new official NixOS wiki 2024-05-17 22:21:15 -04:00

nix-config

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. Background art: The market, In Bloom and Vertical cover book two screen by David Revoy CC-BY 4.0.

A screenshot of a Rust programming environment with Neovim, kitty, and bacon. Background art: Video game jam by David Revoy CC-BY 4.0.

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

git clone https://github.com/donovanglover/nix-config && cd nix-config
nixos-rebuild build-vm --flake .#nixos
./result/bin/run-nixos-vm

The code base is designed to be small so it's easy to adjust things as needed. Have fun!