Personal NixOS and macOS (nix-darwin) configuration. Most of the config files work on other distros too.
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, nix)nixos/: NixOS-specific modules (desktop, hardware, security, services, system)home/: Home Manager modulescommon/: Cross-platform (cli, fish, git, vscode)linux/: Linux-specific (apps, media, ui, xdg)
config/: Dotfiles symlinked via Home Manager (fish, ghostty, hypr, rofi, etc.)nix/: Devshell configuration
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,input,power - System:
nix-nixos,boot,locale,networking - Packages:
dev-tools,audio-production - Services:
system-services,virtualization - Security:
hardening
- Common:
nix,fonts - Darwin:
nix-darwin,homebrew
- Common (cross-platform):
fish: Fish shell configurationvscode: VS Code configurationgit: Git configurationcli: Command line tools
- Linux:
ui: GTK/QT themingxdg: 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 = "github:axseem/dotfiles";
};
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 = "github:axseem/dotfiles";
};
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://github.com/axseem/dotfiles.git
cd dotfiles
sudo nixos-rebuild switch --flake .#ideapadgit clone https://github.com/axseem/dotfiles.git
cd dotfiles
darwin-rebuild switch --flake .#macbook