refactor: use nix home manager for configuration

🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
This commit is contained in:
Price Hiller 2023-10-23 06:10:25 -05:00
parent 26da9b5d13
commit 77f94f5789
Signed by: Price
SSH Key Fingerprint: SHA256:Y4S9ZzYphRn1W1kbJerJFO6GGsfu9O70VaBSxJO7dF8
1133 changed files with 204319 additions and 400 deletions

View File

@ -0,0 +1,188 @@
{ config, pkgs, ... }:
let
dots = config.home.homeDirectory + "/.config/home-manager/configurations/price/dots";
xdg_config = "${dots}/xdg/config";
xdg_local = "${dots}/xdg/config";
dotf = configPath:
let
dot_file = "${configPath}";
in
{
source = config.lib.file.mkOutOfStoreSymlink dot_file;
recursive = builtins.pathExists ("${dot_file}" + "/.");
};
in
{
nixpkgs.config.allowUnfree = true;
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "sam";
home.homeDirectory = "/home/sam";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "23.05"; # Please read the comment before changing.
home.packages = with pkgs; [
hyprland
waybar
neovim-nightly
nixd
wezterm
git
udiskie
openssh
eza
mullvad-vpn
firefox-devedition
swww
twitter-color-emoji
swaylock-effects
zathura
mako
jq
inotify-tools
wf-recorder
ffmpeg
ungoogled-chromium
man
man-pages
man-pages-posix
pavucontrol
playerctl
slurp
grim
feh
wireshark
thunderbird
wl-clipboard
gh
libfido2
python3
lua
silicon
mpv
yarn
bat
ripgrep
delta
sqlite
glibc
gifski
tlp
thermald
lxappearance
ccache
qt6ct
qt5ct
gtk-engine-murrine
fuse
imagemagick
tectonic
virt-manager
python-qt
ansible
ansible-lint
xwaylandvideobridge
spotify
feh
# Fonts
liberation_ttf
fira-code-nerdfont
noto-fonts
noto-fonts-cjk-sans
noto-fonts-cjk-serif
noto-fonts-color-emoji
meslo-lgs-nf
roboto
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
services = {
opensnitch-ui.enable = true;
};
xdg.configFile = {
"nvim" = dotf "${xdg_config}/nvim";
"chrome-flags.conf" = dotf "${xdg_config}/chrome-flags.conf";
"chromium-flags.conf" = dotf "${xdg_config}/chromium-flags.conf";
"mimeapps.list" = dotf "${xdg_config}/mimeapps.list";
"stylua.toml" = dotf "${xdg_config}/stylua.toml";
"Trolltech.conf" = dotf "${xdg_config}/Trolltech.conf";
"zathura" = dotf "${xdg_config}/zathura";
"bat" = dotf "${xdg_config}/bat";
"zsh" = dotf "${xdg_config}/zsh";
"hypr" = dotf "${xdg_config}/hypr";
"mako" = dotf "${xdg_config}/mako";
"mpv" = dotf "${xdg_config}/mpv";
"waybar" = dotf "${xdg_config}/waybar";
"silicon" = dotf "${xdg_config}/silicon";
"powershell" = dotf "${xdg_config}/powershell";
"wezterm" = dotf "${xdg_config}/wezterm";
"wofi" = dotf "${xdg_config}/wofi";
"kitty" = dotf "${xdg_config}/kitty";
"git" = dotf "${xdg_config}/git";
"gtk-3.0" = dotf "${xdg_config}/gtk-3.0";
"gtk-4.0" = dotf "${xdg_config}/gtk-4.0";
"fontconfig" = dotf "${xdg_config}/fontconfig";
"emacs" = dotf "${xdg_config}/emacs";
};
home.file = {
".omnisharp" = dotf "${dots}/.omnisharp";
".latexmkrc" = dotf "${dots}/.latexmkrc";
".zshrc" = dotf "${dots}/.zshrc";
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc" = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# You can also manage environment variables but you will have to manually
# source
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/sam/etc/profile.d/hm-session-vars.sh
#
# if you don't want to manage your shell through Home Manager.
home.sessionVariables = {
EDITOR = "nvim";
LIBSQLITE = "${pkgs.sqlite.out}/lib/libsqlite3.so";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}

View File

@ -0,0 +1,2 @@
experimental-features = nix-command flakes
use-xdg-base-directories = true

View File

@ -38,17 +38,17 @@
"hydra.nvim": { "branch": "master", "commit": "3ced42c0b6a6c85583ff0f221635a7f4c1ab0dd0" },
"image.nvim": { "branch": "master", "commit": "1cb60be1cdc108e3a3b09cb0ed115ef75ce51320" },
"inc-rename.nvim": { "branch": "main", "commit": "ed0f6f2b917cac4eb3259f907da0a481b27a3b7e" },
"indent-blankline.nvim": { "branch": "master", "commit": "8a7b48f5823cc924f815129192288ec2e2b9288f" },
"indent-blankline.nvim": { "branch": "master", "commit": "2546441840172cc41e70f67c52e205cc7aa3e6ed" },
"kanagawa.nvim": { "branch": "master", "commit": "c19b9023842697ec92caf72cd3599f7dd7be4456" },
"keymap-layer.nvim": { "branch": "master", "commit": "e46840f9f377766e856964a49d7f351de3188a38" },
"lazy.nvim": { "branch": "main", "commit": "42fb1e89adb8008a401848e131c5ecb985db52f1" },
"lazy.nvim": { "branch": "main", "commit": "e42fccc3cda70266e0841c5126de2c23e8982800" },
"live-command.nvim": { "branch": "main", "commit": "d460067d47948725a6f25b20f31ea8bbfdfe4622" },
"lsp_lines.nvim": { "branch": "main", "commit": "9e3f99fbbd28aaec80dc0158c43be8cca8dd5017" },
"lspkind.nvim": { "branch": "master", "commit": "57610d5ab560c073c465d6faf0c19f200cb67e6e" },
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "09be3766669bfbabbe2863c624749d8da392c916" },
"mason.nvim": { "branch": "main", "commit": "cd7835b15f5a4204fc37e0aa739347472121a54c" },
"mini.nvim": { "branch": "main", "commit": "35e29f7d680cfeb496415cadadd8c1f68db759b9" },
"mini.nvim": { "branch": "main", "commit": "66e3cdceaba8c0cd089d6f42cb95e04355718f7a" },
"mkdir.nvim": { "branch": "main", "commit": "c55d1dee4f099528a1853b28bb28caa802eba217" },
"neo-tree.nvim": { "branch": "main", "commit": "2c782550d8a6675f1735970d18ef5d0701f2d789" },
"neodev.nvim": { "branch": "main", "commit": "d617d9eb27e73e701e446874c6ea2cb528719260" },
@ -72,11 +72,11 @@
"nvim-lastplace": { "branch": "main", "commit": "0bb6103c506315044872e0f84b1f736c4172bb20" },
"nvim-lightbulb": { "branch": "master", "commit": "8f00b89dd1b1dbde16872bee5fbcee2e58c9b8e9" },
"nvim-lint": { "branch": "master", "commit": "a4b0511a9e757e78c8c9f9d3f201e0d8ff158b42" },
"nvim-lspconfig": { "branch": "master", "commit": "38da5bbe1eaab2394056109e48c7e195bdb8fdfe" },
"nvim-lspconfig": { "branch": "master", "commit": "6428fcab6f3c09e934bc016c329806314384a41e" },
"nvim-neoclip.lua": { "branch": "main", "commit": "4e406ae0f759262518731538f2585abb9d269bac" },
"nvim-notify": { "branch": "master", "commit": "e4a2022f4fec2d5ebc79afa612f96d8b11c627b3" },
"nvim-surround": { "branch": "main", "commit": "4f0e1f470595af067eca9b872778d83c7f52f134" },
"nvim-treesitter": { "branch": "master", "commit": "0179a89656b4ce395a4487c07ae385b8425524ae" },
"nvim-treesitter": { "branch": "master", "commit": "0b50cf159283855b72f4c6b22f5ba3c9cf813b37" },
"nvim-treesitter-context": { "branch": "master", "commit": "8aa32aa6b84dda357849dbc0f775e69f2e04c041" },
"nvim-treesitter-endwise": { "branch": "master", "commit": "4c344ffc8d54d7e1ba2cefaaa2c10ea93aa1cc2d" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "eb208bfdfcf76efea0424747e23e44641e13aaa6" },
@ -101,7 +101,7 @@
"telescope-smart-history.nvim": { "branch": "master", "commit": "81a4cceaa54d65d5f7c7c26178ee63b634d3e26d" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "b0015e6e4b46a64192c64b68dec9a9ac5a4e5690" },
"telescope-undo.nvim": { "branch": "main", "commit": "3dec002ea3e7952071d26fbb5d01e2038a58a554" },
"telescope.nvim": { "branch": "master", "commit": "74ce793a60759e3db0d265174f137fb627430355" },
"telescope.nvim": { "branch": "master", "commit": "8c9fd22952d5665f54f03052440e610c1a8d84cf" },
"telescope_find_directories": { "branch": "main", "commit": "30a29238eca7be1d2eeae7c814f6c0f20bc21931" },
"tint.nvim": { "branch": "master", "commit": "862835626941d263466754b9c8e2ce2cb004f5ac" },
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" },

Some files were not shown because too many files have changed in this diff Show More