Personal NixOS and macOS (nix-darwin) configuration. Most of the config files work on other distros too.
Primary remote is Codeberg (axseem/dots); GitHub mirror: axseem/dots.
hosts/: Host-specific configurationsdarwin/: macOS hosts (e.g.,macbook)nixos/: NixOS hosts (e.g.,ideapad)
modules/: Reusable modulescommon/: Shared modules for both NixOS and Darwin (fonts, nix settings)darwin/: macOS-specific modules (homebrew, system, dev-tools)nixos/: NixOS-specific modules (desktop, hardware, security, services, system)home/: Home Manager modulescommon/: Cross-platform (cli, fish, git, tmux, vscodium)linux/: Linux-specific (apps, media, ui, xdg)
config/: Dotfiles symlinked via Home Manager (fish, ghostty, hypr, rofi, etc.)nix/: Devshell configuration
Enter the repository environment explicitly with nix develop. The repository
does not use .envrc because direnv evaluates that file with Bash.
This configuration exposes several atomic modules that you can import into your own flake.
- Common:
nix,fonts - Desktop:
hyprland,display-manager - Hardware:
audio,bluetooth,graphics,power - System:
boot,locale,networking,dev-tools,audio-production - Services:
system-services,virtualization,searxng-local(pulls inlazy-socketautomatically),lazy-socket - Security:
hardening
- Common:
nix,fonts - Darwin:
homebrew
- Common (cross-platform):
fish: Fish shell configurationtmux: Persistent terminal workspace with automatic Fish attachmentvscodium: VSCodium configurationgit: Git configurationcli: Command line toolsnode: Latest Node.js (nixpkgs default)
- Linux:
ui: GTK/QT themingxdg-linux: Linux XDG config file mappingscli-linux: Linux-specific CLI toolsmedia: Media players and editorsapps: GUI applicationsdesktop-utils: Desktop utilities (file managers, rofi, etc.)
You can use this flake as an input in your own configuration to import specific modules.
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
axseem.url = "git+https://codeberg.org/axseem/dots";
};
outputs = { nixpkgs, axseem, ... }: {
nixosConfigurations.my-machine = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
axseem.nixosModules.hyprland
axseem.nixosModules.audio
./configuration.nix
];
};
};
}{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nix-darwin.url = "github:LnL7/nix-darwin";
axseem.url = "git+https://codeberg.org/axseem/dots";
};
outputs = { nixpkgs, nix-darwin, axseem, ... }: {
darwinConfigurations.my-mac = nix-darwin.lib.darwinSystem {
system = "aarch64-darwin";
modules = [
axseem.darwinModules.homebrew
axseem.darwinModules.fonts
./configuration.nix
];
};
};
}git clone https://codeberg.org/axseem/dots.git
cd dotfiles
sudo nixos-rebuild switch --flake .#ideapadgit clone https://codeberg.org/axseem/dots.git
cd dotfiles
darwin-rebuild switch --flake .#macbook