From ac1a9331271bdc682a84a79d1e8bb6d8e967365e Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Fri, 19 May 2023 08:57:42 +0100 Subject: [PATCH] Add cspell ignored words --- Makefile | 4 ++-- README.md | 69 ++++++++++++++++++++++++++++------------------------- cspell.json | 1 + 3 files changed, 40 insertions(+), 34 deletions(-) create mode 100644 cspell.json diff --git a/Makefile b/Makefile index 95af30ed..36244d76 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ $(eval HOSTNAME=$(shell hostname)) -NIXOS_REPO := git@git.xenia.me.uk:xenia/nixos.git -NVIM_REPO := git@git.xenia.me.uk:xenia/nvim.git +NIXOS_REPO := https://git.xenia.me.uk/xenia/nixos.git +NVIM_REPO := https://git.xenia.me.uk/xenia/nvim.git HOMEMANAGER_CONFIG := $(PWD)/home/$(HOSTNAME)/$(USER).nix CONFIG_DIR := $(if $(XDG_CONFIG_HOME), $(XDG_CONFIG_HOME), $(HOME)/.config) BIN_DIR := $(HOME)/.local/bin diff --git a/README.md b/README.md index 57f22279..d5b5daf9 100644 --- a/README.md +++ b/README.md @@ -1,40 +1,45 @@ -# Personal dotfiles +# Personal NixOS configs -Collection of various settings, configurations and other miscellaneous tools. +## Contains -`Makefile` handles linking config files and installing available extras. Arguments for `make`: +- System definitions for various personal and work machines +- Desktop environment configs + - Plasma + - Hyprland +- Personal server config + - [Base domain](https://xenia.me.uk) # TODO + - [Gitea](https://git.xenia.me.uk) + - [AdGuardHome](https://guard.xenia.me.uk) + - ~[Nextcloud](https://cloud.xenia.me.uk)~ +- Personal home environment definitions -- `link` - - symlinks config files to `$XDG_CONFIG_HOME` -- `unlink` - - Undo `make link` -- `install` - - Downloads extras: ohmyz.sh, powerlevel10k, packer, TMUX plugin manager -- `uninstall` - - Undo `make install` -- `all` - - `link` and `install` in one operation +## Installation -## Configs +`Makefile` handles most things. Running `make` will determine if this is a NixOS or Nix home-manager only install. `make nixos` and `make home` execute either explicitly. -- [neovim](https://neovim.io) -- [wezterm](https://wezfurlong.org/wezterm/) -- [lazygit](https://github.com/jesseduffield/lazygit) -- [tmux](https://tmux.github.io/) -- [zsh](https://ohmyz.sh/) paths and aliases +### NixOS -## Binaries +Clone repo into `/etc/nixos/config`, `make nixos` will do this for you otherwise. Edit your `/etc/nixos/configuration.nix` to import top level expression, e.g.: -- [nvim](https://neovim.io) -- [Lazygit](https://github.com/jesseduffield/lazygit) -- [RipGrep](https://github.com/BurntSushi/ripgrep) - -## Installing Arch Linux packages - -Arch Linux package files stored under `packages`. - -Each can be installed/updated using (replacing `pkglist.txt` with chosen file) - -```bash -pacman -T - < pkglist.txt || sudo pacman --needed -S - < pkglist.txt +```nix +{ config, pkgs, ... }: { + imports = + [ + # Other imports (e.g. ./hardware-configuration.nix) + ./config/hostname.nix + ]; + # Rest of your configuration.nix goes here +} ``` + +### Nix home-manager + +**Must have `nix` installed to proceed** + +Clone repo and run `make` or `make home`, a machine and user specific home-manager config will be created if it doesn't already exist, and then linked to `$XDG_CONFIG_HOME/home-manager/`. Execute: + +```sh +nix-shell -p home-manager -- run "home-manager switch -b backup" +``` + +to install configuration. Home-manager will self-manager after this. diff --git a/cspell.json b/cspell.json new file mode 100644 index 00000000..f9da7d1d --- /dev/null +++ b/cspell.json @@ -0,0 +1 @@ +{"flagWords":[],"words":["Hyprland","Gitea","Nextcloud","NIXOS","NVIM","HOMEMANAGER","pkgs"],"language":"en","version":"0.2"}