All Projects → notusknot → dotfiles-nix

notusknot / dotfiles-nix

Licence: MIT license
Configuration files for my NixOS machine, declared by home-manager

Programming Languages

Nix
1067 projects
SCSS
7915 projects
shell
77523 projects
lua
6591 projects
CSS
56736 projects

Projects that are alternatives of or similar to dotfiles-nix

nix-rice
A library to functionally define your configuration and theme (rice) with Nix
Stars: ✭ 43 (-68.61%)
Mutual labels:  nix, rice, nixos
dotfiles
No description or website provided.
Stars: ✭ 173 (+26.28%)
Mutual labels:  rice, unixporn
nix-gaming
Gaming on Nix
Stars: ✭ 142 (+3.65%)
Mutual labels:  nix, nixos
nixvim
Configure Neovim with Nix!
Stars: ✭ 120 (-12.41%)
Mutual labels:  nix, nixos
fromElisp
An Emacs Lisp reader in Nix.
Stars: ✭ 26 (-81.02%)
Mutual labels:  nix, nixos
gradle2nix
Generate Nix expressions which build Gradle-based projects.
Stars: ✭ 71 (-48.18%)
Mutual labels:  nix, nixos
dotfiles
dotfiles of simonvic daily used enviroment
Stars: ✭ 75 (-45.26%)
Mutual labels:  rice, unixporn
Nox
Tools to make nix nicer to use
Stars: ✭ 232 (+69.34%)
Mutual labels:  nix, nixos
dns.nix
A Nix DSL for DNS zone files
Stars: ✭ 69 (-49.64%)
Mutual labels:  nix, nixos
nix-configs
My Nix{OS} configuration files
Stars: ✭ 54 (-60.58%)
Mutual labels:  nix, nixos
nix-xdg
[WIP] Nix overlay for making programs xdg compliant
Stars: ✭ 18 (-86.86%)
Mutual labels:  nix, nixos
impermanence
Modules to help you handle persistent state on systems with ephemeral root storage [maintainer=@talyz]
Stars: ✭ 401 (+192.7%)
Mutual labels:  nix, nixos
rc
Structured system configuration (I moved from NixOS to GuixSD)
Stars: ✭ 97 (-29.2%)
Mutual labels:  nix, nixos
dotfiles
My dotfiles, configurations, and other stuff
Stars: ✭ 57 (-58.39%)
Mutual labels:  rice, unixporn
dotfiles
My NixOS configuration featuring awesome and neovim
Stars: ✭ 40 (-70.8%)
Mutual labels:  nix, nixos
comma
Comma runs software without installing it. [maintainers=@Artturin,@burke,@DavHau]
Stars: ✭ 626 (+356.93%)
Mutual labels:  nix, nixos
nixos-configuration
A repo for my nixos configuration files
Stars: ✭ 20 (-85.4%)
Mutual labels:  nix, nixos
Nix 1p
A (more or less) one page introduction to Nix, the language.
Stars: ✭ 219 (+59.85%)
Mutual labels:  nix, nixos
Mach Nix
Create highly reproducible python environments
Stars: ✭ 231 (+68.61%)
Mutual labels:  nix, nixos
nixos-installer
Combining the power of Nix, Guile & Elm to install NixOS
Stars: ✭ 14 (-89.78%)
Mutual labels:  nix, nixos

❄️ NixOS dotfiles

My configuration files for NixOS. Feel free to look around and copy!

Special thanks to:

Screenshot of my desktop

Info

  • RAM usage on startup: ~180mb
  • Package count: 📦 582
  • Uses the jabuti theme
  • Terminal emulator: 🦶 foot
  • Window manager: 🌿 Hyprland
  • Shell: 🐚 zsh
  • Editor: 📝 neovim
  • Browser: 🦊 Firefox
  • Other: dunst, swaybg, eww, wofi

Commands to know

  • Rebuild and switch the system configuration (in the config directory):
rebuild

OR

doas nixos-rebuild switch --flake .#yourComputer --fast
  • Connect to wifi (replace stuff within brackets with your info)
iwctl --passphrase [passphrase] station [device] connect [SSID]

Installation

** IMPORTANT: do NOT use my laptop.nix and/or desktop.nix! These files include settings that are specific to MY drives and they will mess up for you if you try to use them on your system. **

Please be warned that it may not work perfectly out of the box. For best security, read over all the files to confirm there are no conflictions with your current system.

Prerequisites:

Clone the repo and cd into it:

git clone https://github.com/notusknot/dotfiles-nix ~/.config/nixos && cd ~/.config/nixos

First, create a hardware configuration for your system:

sudo nixos-generate-config

You can then copy this to a the hosts/ directory (note: change yourComputer with whatever you want):

mkdir hosts/yourComputer
cp /etc/nixos/hardware-configuration.nix ~/.config/nixos/hosts/yourComputer/

You can either add or create your own output in flake.nix, by following this template:

nixosConfigurations = {
    # Now, defining a new system is can be done in one line
    #                                Architecture   Hostname
    laptop = mkSystem inputs.nixpkgs "x86_64-linux" "laptop";
    desktop = mkSystem inputs.nixpkgs "x86_64-linux" "desktop";
    # ADD YOUR COMPUTER HERE! (feel free to remove mine)
    yourComputer = mkSystem inputs.nixpkgs "x86_64-linux" "yourComputer";
};

Next, create hosts/yourComputer/user.nix, a configuration file for your system for any modules you want to enable:

{ config, lib, inputs, ...}:

{
    imports = [ ../../modules/default.nix ];
    config.modules = {
        # gui
        hyprland.enable = true;

        # cli
        nvim.enable = true;

        # system
        xdg.enable = true;
    };
}

The above config installs and configures hyprland, nvim, and xdg user directories. Each config is modularized so you don't have to worry about having to install the software alongside it, since the module does it for you. Every available module can be found in the modules directory.

Lastly, build the configuration with

sudo nixos-rebuild switch --flake .#yourComputer

And that should be it! If there are any issues please don't hesistate to submit an issue or contact me.

Conclusion

And thats about it for my configuration. The code is registered under the MIT license, meaning you are allowed to use or distribute the code as you please, and if you need any help or have any suggestions, you can reach me on Discord at notusknot#5622 or email me at [email protected].

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].