feat: introduced new home-manager features

Changed wallpaper to better fit the style of the WM
- affected common variables
- affected hyprland configuration
- affected stylix configuration
- included additional flake inputs
Added Spicetify packages (not working)
Added obs-studio home-manager program option
Added vimkey navigation keybinds for Hyprland
This commit is contained in:
Zhongheng Liu 2024-08-25 18:36:49 +08:00
commit 5515d4a9cd
No known key found for this signature in database
9 changed files with 66 additions and 5 deletions

View file

@ -22,7 +22,7 @@
myUserName = "stvnliu";
myHostName = "nixos-msi";
displayScale = 1;
myWallPaperPathString = "/home/${myUserName}/wallpaper.png";
myWallPaperPathString = "/home/${myUserName}/wallpaper.jpg";
myDisplayName = "Zhongheng Liu";
myEmail = "z.liu@outlook.com.gr";
myAutostartCommands = [

View file

@ -13,6 +13,10 @@
home-manager.inputs.nixpkgs.follows = "nixpkgs";
stylix.url = "github:danth/stylix";
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
@ -20,6 +24,7 @@
nixpkgs,
home-manager,
stylix,
spicetify-nix,
...
} @ inputs: let
inherit (self) outputs;
@ -47,6 +52,7 @@
./home-manager/${stevenUserName}/home.nix
inputs.nixvim.homeManagerModules.nixvim
inputs.stylix.homeManagerModules.stylix
inputs.spicetify-nix.homeManagerModules.default
];
};
};

Binary file not shown.

Before

Width:  |  Height:  |  Size: 214 KiB

After

Width:  |  Height:  |  Size: 1 MiB

Before After
Before After

View file

@ -24,6 +24,8 @@
./ags
./xdg.nix
./stylix.nix
./spicetify.nix
./scripts
];
nixpkgs = {
@ -57,7 +59,7 @@
username = "${config.myUserName}";
homeDirectory = "/home/${config.myUserName}";
# copy wallpaper from assets
file = {"wallpaper.png".source = ./assets/gruvbox-wallpaper.png;};
file = {"wallpaper.jpg".source = ./assets/nixos-wallpaper.jpg;};
};
home.packages = with pkgs; [
protonvpn-gui
@ -91,6 +93,10 @@
];
programs = {
obs-studio = {
enable = true;
plugins = [pkgs.obs-studio-plugins.wlrobs];
};
home-manager.enable = true;
firefox.enable = true;
thunderbird = {

View file

@ -38,8 +38,12 @@
# Example volume button that will activate even while an input inhibitor is active
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
];
bind =
bind = let
terminalCmd = "${pkgs.foot}/bin/foot -f 'BlexMono Nerd Font:size=12' -o colors.alpha=0.85 ${config.myShells.defaultShell}";
in
[
"$mod SHIFT, L, exec, ${pkgs.hyprlock}/bin/hyprlock --immediate"
", Print, exec, ${pkgs.grimblast}/bin/grimblast copy area"
# special workspace keybinds
@ -54,7 +58,14 @@
"$mod, F, exec, ${pkgs.firefox}/bin/firefox"
"$mod, E, exec, ${pkgs.pcmanfm}/bin/pcmanfm"
# foot terminal
"$mod, Return, exec, ${pkgs.foot}/bin/foot -f 'BlexMono Nerd Font:size=12' -o colors.alpha=0.85 ${config.myShells.defaultShell}"
"$mod, Return, exec, ${terminalCmd}"
"$mod SHIFT, Return, exec, [float] ${terminalCmd}"
# vimkeys navigation
"$mod, H, movefocus, l"
"$mod, J, movefocus, d"
"$mod, K, movefocus, u"
"$mod, L, movefocus, r"
]
++ (
# workspaces

View file

@ -0,0 +1,7 @@
{
config,
pkgs,
...
}: {
home.packages = [(import ./heic-to-jpg.script.nix {inherit pkgs;})];
}

View file

@ -0,0 +1,5 @@
{pkgs}:
pkgs.writeShellScriptBin "heic-to-jpg" ''
mkdir -p ./heic-to-jpg-out
${pkgs.findutils}/bin/find . -type f -print0 | ${pkgs.findutils}/bin/xargs -0 -I "{}" ${pkgs.imagemagick}/bin/magick "{}" -quality 100% ./jpg-out/"{}.conv.jpg"
''

View file

@ -0,0 +1,26 @@
{
pkgs,
lib,
inputs,
...
}: let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
in {
# allow spotify to be installed if you don't have unfree enabled already
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"spotify"
];
programs.spicetify = {
enable = true;
theme = spicePkgs.themes.onepunch;
colorScheme = "Dark";
enabledExtensions = with spicePkgs.extensions; [
adblock
fullAppDisplay
shuffle # shuffle+ (special characters are sanitized out of ext names)
hidePodcasts
];
};
}

View file

@ -2,7 +2,7 @@
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml";
image = ./assets/gruvbox-wallpaper.png;
image = ./assets/nixos-wallpaper.jpg;
fonts = {
sansSerif = {
name = "Aileron";