Skip to content

Cu3PO42/gleaming-glacier

Repository files navigation

Gleaming Glacier — Copper's Dotfiles

The logo for this flake. A floating island of colorful ice spikes.

These are my dotfiles, i.e., the configurations for my systems and tools, structured as a Nix flake, which makes them easy to install and reproduce.

There are many like it, but these ones are mine.

Built by garnix License Star count Built with Gleaming Glacier


Documentation | Getting Started | Showcase | Notable Features | FAQ | Contributing


Showcase

NixOS Desktops with

  • Hyprland with a bunch of plugins
  • Almost a full DE based on AGS
  • My own system for modal keymaps
  • A powerful theming system
  • Full Disk Encryption on ZFS
  • Easy Deployment

NixOS Servers with

  • Remote unlocking during boot
  • Impermanence
  • Full Disk Encryption on ZFS
  • Easy Deployment

macOS with

My powerful Fish-based shell environment.

Highlights

Copper Chroma

Chroma is my powerful theming system for Home-Manager. It supports coordinating theme switches across many applications, without rebuilding or switching your Home configuration and is highly extensible.

Copper Mage

Mage is my abstraction on top of Agenix to make secret management easier and require less configuration.

Copper Plate

Plate is my own simple provisioning framework. It supports installing configurations on remote systems using nixos-anywhere or building your very own installation image that comes with the system configuration of yourself. To this end, it comes with a custom text-based installer.

Gleaming Framework

My framework for structuring my (and possibly your!) Flake based on the structure of Nix files in the file tree. It removes the need to manually import every file and loads them automatically instead. Additionally, it adds useful functionality in the form of flake-parts modules.

Who is this for?

This repository can be seperated into two primary components:

  • My own personal configurations set up to my liking
  • A framework for building your own Flake that mine is built on as well

However, my own configuration is also built to be highly modular, so you can easily re-use any parts that you like. While the Flake framework is designed to be generic, my own configurations are not. That means that if you have similar requirements as I, you may find them useful, but if yours are wildly different you may not. Supporting every possible use case is not a goal for my own configuration. Or, you might just want to peruse the flake to get some inpiration for your own.

To get started on using my configuration, please see the Getting Started page.

Versioning

At this time, some of the features in my Flake are still under development, even though speed of development has slowed. I am intentionally not versioning it and make no promises about the stability of any particular API. That said, I'll try to make changes to the master in a backwards-compitable fashion where possible and not to break things too much. Active development happens on branches where changes might be more common.

Additionally, breaking changes should be documented in the Changelog.

Still, if you rely on my Flake, be sure to use a particular version and be prepared to occasionally make some changes when upgrading to a new commit.

License

See LICENSE.md.

Contributing

See CONTRIBUTING.md.

Credits and Resources

These dotfiles reuse parts of various others' configurations and are inspired by many more.

In particular, configuration from the following repositories was used:

Additionally, I learned a lot from these repositories, listed in no particular order:

Special thanks also go to the creators of the various tools and programs that I use in my configuration.

If you believe you were missed in the list above, please let me know.

About

These are my dotfiles. There are many like it, but these ones are mine.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published