liminalOS/users/youwen/linux/home.nix

126 lines
3.7 KiB
Nix
Raw Normal View History

2024-07-11 03:56:19 -07:00
{
inputs,
2024-08-16 06:42:35 -07:00
pkgs,
2024-10-11 15:34:57 -07:00
osConfig,
config,
2024-08-16 06:42:35 -07:00
...
2024-09-02 18:16:22 -07:00
}:
{
2024-07-11 03:56:19 -07:00
home.username = "youwen";
home.homeDirectory = "/home/youwen";
# link the configuration file in current directory to the specified location in home directory
# home.file.".config/i3/wallpaper.jpg".source = ./wallpaper.jpg;
# link all files in `./scripts` to `~/.config/i3/scripts`
# home.file.".config/i3/scripts" = {
# source = ./scripts;
# recursive = true; # link recursively
# executable = true; # make all files executable
# };
# encode the file content in nix configuration file directly
# home.file.".xxx".text = ''
# xxx
# '';
# home.file.".wallpapers" = {
# source = inputs.wallpapers;
# recursive = true;
# };
#
# home.file.".config/easyeffects/input" = {
# source = ./easyeffects/input;
# recursive = true;
# };
2024-08-09 22:14:17 -07:00
# home.file.".config/easyeffects/output" = {
# source = ./easyeffects/output;
# recursive = true;
# };
2024-07-11 03:56:19 -07:00
# 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.
home.stateVersion = "24.05";
#
# You can update home Manager without changing this value. See
# the home Manager release notes for a list of state version
# changes in each release.
# Audio effects and EQ tool
services.easyeffects.enable = true;
services.easyeffects.package = pkgs.easyeffects;
2024-11-06 01:43:39 -08:00
programs.spotify-player.enable = true;
# Notification daemon
2024-11-03 23:44:41 -08:00
# services.dunst = {
# enable = true;
# # catppuccin.enable = true;
# iconTheme = {
# name = "Papirus-Dark";
# package = pkgs.papirus-icon-theme;
# size = "32x32";
# };
# };
# Currently non-functional
programs.wlogout.enable = true;
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
2024-10-30 21:38:05 -07:00
# theme = "gruvbox-dark";
2024-10-31 17:43:35 -07:00
terminal = "${pkgs.kitty}/bin/kitty";
extraConfig = {
modi = "window,drun,ssh,combi,filebrowser,recursivebrowser";
display-drun = " 󰘧 ";
combi-modi = "window,drun,ssh";
run-shell-command = "{terminal} -e {cmd}";
sidebar-mode = true;
background-color = "transparent";
sorting = "fuzzy";
};
};
2024-07-11 03:56:19 -07:00
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
2024-10-11 15:34:57 -07:00
programs.fish.functions = {
2024-11-04 11:57:01 -08:00
# rebuild = ''doas nixos-rebuild --flake ~/.config/liminalOS\#${osConfig.networking.hostName} switch &| nom'';
# os-test = ''doas nixos-rebuild --flake ~/.config/liminalOS\#${osConfig.networking.hostName} test &| nom'';
# nixos-update = ''
# cd ~/.config/liminalOS
# nix flake update --commit-lock-file
# doas nixos-rebuild --flake ~/.config/liminalOS\#${osConfig.networking.hostName} switch &| nom
# '';
nh = {
# wrapper for nh as it doesn't work with `doas`
2024-11-04 11:57:01 -08:00
body = ''
if count $argv > /dev/null
if contains -- os $argv or contains -- clean $argv
doas ${pkgs.nh}/bin/nh $argv -R
else
${pkgs.nh}/bin/nh $argv
end
else
${pkgs.nh}/bin/nh
end
'';
};
2024-11-06 01:44:42 -08:00
spt = "${pkgs.spotify-player}/bin/spotify_player";
2024-10-11 15:34:57 -07:00
};
home.file = {
".config/vesktop/settings.json".source = config.lib.file.mkOutOfStoreSymlink ./var/settings.json;
".config/easyeffects/output" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/liminalOS/users/youwen/linux/var/easyeffects/output";
recursive = true;
};
".config/easyeffects/input" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/liminalOS/users/youwen/linux/var/easyeffects/input";
recursive = true;
};
};
2024-07-11 03:56:19 -07:00
}