{"id":18435633,"url":"https://github.com/chpxu/dotfiles","last_synced_at":"2025-04-07T20:32:15.733Z","repository":{"id":48064444,"uuid":"516467799","full_name":"chpxu/dotfiles","owner":"chpxu","description":"My Nord-themed dotfiles for my Linux Installations (currently NixOS)","archived":false,"fork":false,"pushed_at":"2025-02-21T19:10:35.000Z","size":60003,"stargazers_count":11,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"nixfiles","last_synced_at":"2025-03-23T00:07:08.078Z","etag":null,"topics":["dotfiles","firefox","kitty-theme","linux","nix","nixos","nord","nordic","swayidle","swaylock","theme","unixporn","void","waybar","wvkbd"],"latest_commit_sha":null,"homepage":"https://chpxu.github.io/dotfiles","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chpxu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-21T17:43:44.000Z","updated_at":"2025-03-06T20:28:19.000Z","dependencies_parsed_at":"2023-02-19T02:15:50.163Z","dependency_job_id":"b1616d3e-291b-4bf6-b8db-eaa4dd192db7","html_url":"https://github.com/chpxu/dotfiles","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chpxu%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chpxu%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chpxu%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chpxu%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chpxu","download_url":"https://codeload.github.com/chpxu/dotfiles/tar.gz/refs/heads/nixfiles","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247725462,"owners_count":20985704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","firefox","kitty-theme","linux","nix","nixos","nord","nordic","swayidle","swaylock","theme","unixporn","void","waybar","wvkbd"],"created_at":"2024-11-06T06:08:55.937Z","updated_at":"2025-04-07T20:32:10.724Z","avatar_url":"https://github.com/chpxu.png","language":"Nix","readme":"# dotfiles\n\nThis repository hosts my dotfiles and configs for various applications on NixOS. Heavily WIP and continually evolving.\n\nI will try to remember to give credits and links where possible but I'll probably forget.\n\n## How the repository is structured\n\nThis structure was heavily inspired, and has some code taken from [Misterio77's nix-starter-configs](https://github.com/Misterio77/nix-starter-configs). This was extremely helpful in getting me to have a refactored and cleaner NixOS setup.\n\n```\n.\n├── hm/\n│   ├── common/\n│   │   ├── packages/\n│   │   │   └── # A set of common packages I share across my users where no configuration is required\n│   │   └── modules/\n│   │       └── # A set of common configurations for programs I share across my users\n│   ├── chunix/\n│       ├── home.nix\n│       └── ...\n│\n├── overlays # a set of overlays\n├── system/\n│   ├── common/\n│   │   └── # A set of common packages/configurations I share across my systems\n│   ├── yoga # configuration for my Yoga C940\n│   └── legion # Configuration for my Legion 5 Pro Gen 7 (WIP)\n├── docs/\n│   └── ... # website for dotfiles\n├── Pictures/\n│   └── ...\n├── flake.nix\n├── flake.lock\n└── install.sh\n```\n\n## Screenshots\n\nTBD\n\n## Installation Instructions\n\nThis NixOS setup integrates `home-manager` into the system configuration so that all users can simply be updated with `sudo nixos-rebuild switch .#\u003chostname\u003e`.\n\n1. Whether you're booting from scratch or not, you need `git` (or just have the repo locally). If you don't have git, you can temporarily invoke it with `nix-shell -p git --run \"git clone https://github.com/chpxu/dotfiles\"` and it will clone the repo into a folder called `dotfiles` in your present working directory.\n2. Make any necessary changes to the configuration. For example:\n\n   - Secrets and networking. These will be invalid since they depend on SSH keys, so you will want to remove it and the configuration in `system/common/modules/networking.nix`.\n   - Hostnames and usernames.\n   - Installed programs and their settings.\n\n3. Make sure everything is saved. If you are intending to push to a git repo, make sure to `git add .` first. Then you can run `sudo nixos-rebuild switch .#\u003chostname\u003e` or some variation to build.\n\nYou will be successful if everything you wanted installed, installs and is configured appropriately. The home-manager configuration will also be successfully built if you see `home-manager.\u003cuser\u003e.service` was successfully (re)started. You can check its status with `systemctl status home-manager.\u003cuser\u003e.service`.\n\n## Themes, Icons and Colour Palette\n\nThese dotfiles uses the Nord theme.\n\n1. The [Nord colour palette](https://nordtheme.com).\n2. The GTK theme [Nordic](https://www.gnome-look.org/p/1267246/) by @EliverLara.\n   Follow the instructions on the page to use the GTK3/4 theme.\n3. I use the [Fira Code Retina Nerd](https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/FiraCode) and [Source Code Pro](https://github.com/adobe-fonts/source-code-pro) fonts. Both are TTFs.\n4. I use the [Nordzy](https://github.com/alvatip/Nordzy-icon) icon theme.\n5. I use [Nordzy-cursors](https://www.gnome-look.org/p/1571937) as my cursor theme.\n\n## Programs and Applications\n\nThese are the main applications and programs I use. Everything has been\ninstalled from `nixos-unstable` by default unless mentioned otherwise. WIP.\n\n### Applications\n\n- [firefox-dev-edition](https://www.mozilla.org/en-GB/firefox/developer/)\n- [gimp](https://gimp.org)\n- [inkscape](https://inkscape.org)\n- [vscode](https://code.visualstudio.com)\n- [discord-canary](https://discord.com)\n- [mpv](https://mpv.io)\n- [imv](https://sr.ht/~exec64/imv/)\n- [rnote](https://github.com/flxzt/rnote)\n- [zathura](https://pwmt.org/projects/zathura/)\n- [libreoffice](https://libreoffice.org) (fresh branch)\n- [zotero](https://zotero.org)\n- [logseq](https://logseq.com)\n- [pdfarranger](https://github.com/pdfarranger/pdfarranger)\n\n### Environment programs\n\nApplications or programs which affect my workspace\n\n- [Hyprland](https://hyprland.org)\n- [hyprpaper](https://github.com/hyprwm/hyprpaper)\n- [waybar](https://github.com/Alexays/Waybar) (built with `-Dexperimental=true`)\n- [swayidle](https://github.com/swaywm/swayidle)\n- [swaylock-effects](https://github.com/jirutka/swaylock-effects) (jirutka fork)\n- [mako](https://github.com/emersion/mako)\n- [cliphist](https://github.com/sentriz/cliphist) + [wl-clipboard](https://github.com/bugaevc/wl-clipboard)\n- [rofi-wayland](https://github.com/lbonn/rofi#wayland-support)\n- [kitty](https://sw.kovidgoyal.net/kitty/)\n- [zsh](https://zsh.org) + [starship](https://starship.rs)\n- wvkbd (custom derivation to add theming. See my [repo](https://github.com/chpxu/wvkbd))\n- [nano](https://nano-editor.org)\n- [direnv](https://direnv.net)\n\n## Configuration Deep Dive\n\nThis section is more information about the configuration, mainly for those who want to extend/use this configuration (though you're probably better off using @Misterio77's boilerplate).\n\n### `flake.nix` structure\n\n1. Description. Self-explanatory. Edit it to whatever `string` you want.\n2. `inputs` attribute set contain the flake inputs. Where possible, I have tried to use flake inputs or overlays for as many (environment) programs as possible.\n3. A bunch of `let` bindings. Namely:\n   - `system`, `user`, `pkgs` for some easy reusable keywords\n   - `colour-palette` which is the file containing the RGB hex codes for the Nord theme.\n   - `mkSystemConfiguration` a function which creates a NixOS system with given hostname and users.\n4. `outputs`. What the flake returns and allows you to access.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchpxu%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchpxu%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchpxu%2Fdotfiles/lists"}