refactor: use nix home manager for configuration
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
This commit is contained in:
parent
26da9b5d13
commit
77f94f5789
188
configurations/price/default.nix
Normal file
188
configurations/price/default.nix
Normal 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;
|
||||
}
|
2
configurations/price/dots/xdg/config/nix/nix.conf
Normal file
2
configurations/price/dots/xdg/config/nix/nix.conf
Normal file
@ -0,0 +1,2 @@
|
||||
experimental-features = nix-command flakes
|
||||
use-xdg-base-directories = true
|
@ -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
Loading…
Reference in New Issue
Block a user