Skip to content

Latest commit

 

History

166 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

axseem's dotfiles

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.

Structure

  • hosts/: Host-specific configurations
    • darwin/: macOS hosts (e.g., macbook)
    • nixos/: NixOS hosts (e.g., ideapad)
  • modules/: Reusable modules
    • common/: 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 modules
      • common/: 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

Modules

This configuration exposes several atomic modules that you can import into your own flake.

NixOS Modules (nixosModules)

  • Common: nix, fonts
  • Desktop: hyprland, display-manager
  • Hardware: audio, bluetooth, graphics, power
  • System: boot, locale, networking, dev-tools, audio-production
  • Services: system-services, virtualization, flatpak, searxng-local (pulls in lazy-socket automatically), lazy-socket
  • Security: hardening

Darwin Modules (darwinModules)

  • Common: nix, fonts
  • Darwin: homebrew

Home Manager Modules (homeManagerModules)

  • Common (cross-platform):
    • fish: Fish shell configuration
    • tmux: Persistent terminal workspace with automatic Fish attachment
    • vscodium: VSCodium configuration
    • git: Git configuration
    • cli: Command line tools
    • node: Latest Node.js (nixpkgs default)
  • Linux:
    • ui: GTK/QT theming
    • xdg-linux: Linux XDG config file mappings
    • cli-linux: Linux-specific CLI tools
    • media: Media players and editors
    • apps: GUI applications
    • desktop-utils: Desktop utilities (file managers, rofi, etc.)

Usage

You can use this flake as an input in your own configuration to import specific modules.

NixOS

{
  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
      ];
    };
  };
}

macOS (nix-darwin)

{
  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
      ];
    };
  };
}

Installation

NixOS

git clone https://codeberg.org/axseem/dots.git
cd dotfiles
sudo nixos-rebuild switch --flake .#ideapad

macOS

git clone https://codeberg.org/axseem/dots.git
cd dotfiles
darwin-rebuild switch --flake .#macbook

About

axseem's Linux Workstation Configuration | Mirror of https://codeberg.org/axseem/dots

Topics

Resources

Stars

20 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages