Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
fe12afb
added wallpapers and catppuccin as the theme
Jun 25, 2024
17fde45
using lightmode catppuccin mauve
Jun 26, 2024
cad3899
polishing
Jun 26, 2024
58884ab
config update
Jul 13, 2024
fdf0d76
fixed syntax error in kitty.nix
Jul 13, 2024
2880467
updated flake.nix
danielkosgei Dec 26, 2024
951f71f
updated vencord
danielkosgei Dec 26, 2024
dac9fbd
changed hardware config to use /dev/disk/by-label
danielkosgei Dec 27, 2024
cc90dec
nix config updates
danielkosgei Dec 28, 2024
c1bd487
replaced zsh with nushell
danielkosgei Feb 5, 2025
9417d0e
added zen browser flake
danielkosgei Feb 17, 2025
5059dfb
added a new pixel art wallpaper
danielkosgei Feb 17, 2025
c03f425
added reaper
danielkosgei Feb 24, 2025
f8c77d5
updated personal config
danielkosgei Apr 7, 2025
8f8b989
fixed a bunch of headaches
danielkosgei May 3, 2025
2eb4bd2
updated nixos system configuration
danielkosgei Jun 22, 2025
8f94bce
nixos configuration update
danielkosgei Jul 14, 2025
798cfb5
updated config
danielkosgei Jul 28, 2025
c6d3064
added dwm
danielkosgei Oct 6, 2025
31d1cb4
added dwm
danielkosgei Oct 6, 2025
f4cc65b
Add dwm source files
danielkosgei Oct 6, 2025
c99ec34
Add dwm source files properly
danielkosgei Oct 6, 2025
79b176b
removed dwm
danielkosgei Oct 7, 2025
b7530b4
added zed editor to config
danielkosgei Oct 7, 2025
1df1847
update nix config
danielkosgei Oct 25, 2025
60386bf
update nixos config
danielkosgei Oct 29, 2025
e36db4c
Added obs-studio configuration
danielkosgei Nov 4, 2025
ccf34f8
zed editor updates
danielkosgei Nov 5, 2025
bf0d3f8
Update zed
danielkosgei Nov 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/result
98 changes: 54 additions & 44 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,76 @@
# Nixos Configuration
# NixOS configuration

## Overview

This documentation provides an overview of the NixOS configuration setup, including flake configuration, system configuration, user configuration, and Home Manager integration.
This repository contains a flake-based NixOS setup with integrated Home Manager. It defines multiple hosts and composes user programs and development tooling via reusable Home Manager modules.

## `flake.nix`
## Repository layout

### Description
The `flake.nix` file serves as the main entry point for the NixOS configuration flake.
- `flake.nix`: Flake entrypoint. Declares inputs like `nixpkgs`, `home-manager`, `nixos-hardware`, `nix-topology`, `spicetify-nix`, `zen-browser`, and wires outputs.
- `hosts/`
- `shadow/`
- `configuration.nix`: System configuration for host `shadow` (imports Home Manager).
- `hardware-configuration.nix`: Auto-generated by `nixos-generate-config`.
- `home.nix`: User-specific Home Manager configuration for `danny` on `shadow`.
- `modules/home-manager/`
- `development/`
- `default.nix`: Aggregates development modules.
- `ides.nix`: IDE packages (e.g., `neovim`, `code-cursor-fhs`).
- `tools.nix`: CLI/dev tools configuration.
- `zeditor.nix`: Additional editor-related config.
- `programs/`
- `default.nix`: Aggregates program modules.
- `misc/`: Assorted program configs (e.g., `bat.nix`, `git.nix`, `kitty.nix`, `lf.nix`, `nushell.nix`, `obsidian.nix`, `spotify.nix`).
- `mpv/`: MPV player configuration.
- `zathura/`: Zathura PDF viewer configuration.
- `topology.nix`: Network/service topology using `nix-topology` overlay.

### Inputs
- `nixpkgs`: Nixpkgs repository for NixOS unstable.
- `home-manager`: Integration of Home Manager for user-specific configurations.
- `hyprland`: Package necessary for the Window Manager configuration.
## Flake outputs

### Outputs
- `nixosConfigurations`: Defines system configurations.
- `nixosConfigurations.shadow`: Main laptop configuration (ThinkPad T490 hardware module).
- `nixosConfigurations.reaper`: PC configuration.
- `topology.x86_64-linux`: Topology output generated from `topology.nix` and hosts.

## `configuration.nix` (hosts/shadow)
## Quickstart

### System Configuration
- Bootloader, Filesystems, Networking, Time Zone, Internationalization, Services, Programs, Security, Fonts, User Account.
1. Clone your repo and enter it:

### Home Manager Integration
- Manages user-specific configurations.
```bash
git clone <this-repo-url>
cd shadow
```

## `home.nix` (hosts/shadow)
2. Build and switch for a host (example: `shadow`):

### User Configuration
- Sets username, home directory, and additional packages.
- Defines session variables and enables Home Manager.
```bash
sudo nixos-rebuild switch --flake .#shadow
```

## `hardware-configuration.nix`
3. For another host (example: `reaper`):

- Automatically generated file containing hardware configuration.
```bash
sudo nixos-rebuild switch --flake .#reaper
```

## Home Manager Modules
Home Manager is integrated via `home-manager.nixosModules.default`, so user configuration under `hosts/<host>/home.nix` is applied as part of the system rebuild.

- `development/default.nix`: IDEs and development tools.
- `development/ides.nix`: IDE configurations.
- `development/tools.nix`: Development tools configurations.
- `programs/default.nix`: Miscellaneous programs.
- `programs/alacritty/default.nix`: Alacritty terminal configuration.
- `programs/misc/*.nix`: Miscellaneous program configurations.
- `programs/zsh/default.nix`: Zsh shell configuration.
## Common tasks

## Instructions for Replication
- Update inputs and rebuild:

1. **Clone the Repository**: Clone your NixOS configuration repository to your local machine.
```bash
nix flake update
sudo nixos-rebuild switch --flake .#shadow
```

```bash
git clone https://github.com/enchanted-coder/nix-config/
```

1. **Navigate to Configuration Directory**: Move to the directory containing your NixOS configuration files.
- Build without switching (dry-run build):

```bash
cd <repository_directory>/nixos-config/
```
```bash
nix build .#nixosConfigurations.shadow.config.system.build.toplevel
```

1. **Build and Activate Configuration**: Run the following command to build and activate your NixOS configuration.
## Notes

```bash
nixos-rebuild switch --flake .#shadow
```
- Hardware-specific modules are included via `nixos-hardware` (e.g., `lenovo-thinkpad-t490`).
- `nix-topology` overlay is enabled in `flake.nix` and used by `topology.nix` for visualization/analysis.
- Some development modules (e.g., `neovim.nix`, `vscode.nix`) are present but may be commented out in `development/default.nix`; enable as needed.
Loading