Skip to content

nicekoishi/dotfiles

Repository files navigation

Important

A good chunk of this configuration was borrowed from both NotAShelf and fufexan

About

Every day I keep using NixOS, I can't help but like it even more. It's really that cool.

Now about the config itself? Kindly borrowed code, a bit of coffee and me going deaf from loud music (I should really turn down the volume).

Desktop Preview

Structure

  • flake: modular flake.nix thanks to flake-parts
    • packages: collection of useless packages that no one would ever use.
  • home: home-manager configuration.
    • editors: my editors configuration, currently using nvim.
    • programs: programs and their configurations, managed by home-manager.
    • services: useful services at user level.
    • theme: unified theming for 'all' my systems.
  • hosts: host specific configuration.
    • polaris: workstation. Bound by NVIDIA, unfortunately;
  • modules: modules shared across my hosts.
    • options: mostly options for host specific configurations
    • system: defaults for every host.
    • roles: specific overrides for each type of host.

Outputs

Run packages with:

nix run github:nicekoishi/dotfiles#<package>

Or install them through your inputs:

# flake.nix
{
inputs.nicekoishi-dots = {
  url = "github:nicekoishi/dotfiles";
  inputs.nixpkgs.follows = "nixpkgs"
};
}

# configuration.nix
{pkgs, inputs, ...}: {
environment.systemPackages = [
  inputs.nicekoishi-dots.packages."${pkgs.system}".<package>
];
}

Same thing for modules:

# flake.nix
...

# configuration.nix
{inputs, ...}: {
  imports = [
    # for nixos modules
    inputs.nicekoishi-dots.nixosModules.<module>
    # for home manager modules
    inputs.nicekoishi-dots.homeManagerModules.<module>
  ];
}

Credits

Here is a collection of all repos I shamelessy kindly borrowed some code from. My special thanks goes to both fufexan and NotAShelf, as I learned a lot from their configurations.

I couldn't have done any of this if it wasn't for these amazing people.