Adds initial files
This commit is contained in:
126
home-manager/drew.nix
Normal file
126
home-manager/drew.nix
Normal file
@@ -0,0 +1,126 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./features/shell.nix
|
||||
./features/terminal.nix
|
||||
];
|
||||
|
||||
home.username = "drew";
|
||||
home.homeDirectory = "/home/drew";
|
||||
|
||||
nix.settings.experimental-features = ["flakes" "nix-command"];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# Development
|
||||
neovim
|
||||
git
|
||||
nix-prefetch-github
|
||||
|
||||
# Utilities
|
||||
htop
|
||||
btop
|
||||
zip
|
||||
xz
|
||||
unzip
|
||||
p7zip
|
||||
httpie
|
||||
neofetch
|
||||
file
|
||||
tree
|
||||
jq
|
||||
killall
|
||||
ranger
|
||||
|
||||
# Networking
|
||||
dnsutils
|
||||
socat
|
||||
|
||||
# Applications
|
||||
discord
|
||||
webcord # Discord app replacement
|
||||
element-desktop
|
||||
signal-desktop
|
||||
obsidian
|
||||
firefox
|
||||
waypaper # Wallpaper switcher
|
||||
feh
|
||||
|
||||
# Gaming
|
||||
mangohud
|
||||
(lutris.override {
|
||||
extraPkgs = pkgs: [
|
||||
winetricks # Needed for bnet setup.
|
||||
vulkan-tools # Needed for bnet setup
|
||||
];
|
||||
})
|
||||
protonup-ng
|
||||
vulkan-tools # useful for debugging Vulkan issues
|
||||
|
||||
# Desktop Environment
|
||||
networkmanagerapplet # network control
|
||||
hyprlock # lock screen
|
||||
wofi # launcher
|
||||
hyprpaper # wallpaper
|
||||
swayidle # lock on idle
|
||||
swayosd # volume pop-up
|
||||
eww # widgets
|
||||
swaynotificationcenter # notifications
|
||||
hyprpolkitagent # Privilege managent
|
||||
gnome-keyring # Secret management
|
||||
glib # for Gnome/GTK settings
|
||||
xdg-desktop-portal-hyprland
|
||||
xdg-desktop-portal-gtk # GTK backend for XDG components like pickers
|
||||
grim # Screenshot provider
|
||||
nwg-look # GTK settings editor
|
||||
playerctl # for universal play/pause etc
|
||||
];
|
||||
|
||||
xdg.desktopEntries = {
|
||||
element-desktop = {
|
||||
name = "Element";
|
||||
# Custom options to reduce flickering under wayland.
|
||||
exec = "element-desktop --enable-features=UseOzonePlatform --ozone-platform=wayland --disable-gpu";
|
||||
};
|
||||
};
|
||||
|
||||
# required for default hyprland config.
|
||||
# programs.kitty.enable = true;
|
||||
# wayland.windowManager.hyprland = {
|
||||
# enable = true;
|
||||
# package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
|
||||
# settings = {
|
||||
# "$mod" = "SUPER + ALT";
|
||||
# };
|
||||
# plugins = [
|
||||
# inputs.hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hy3
|
||||
# ];
|
||||
# # Disable systemd because it conflicts with UWSM
|
||||
# systemd.enable = false;
|
||||
# };
|
||||
|
||||
# Hint for electron apps to use wayland
|
||||
home.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
# GTK settings
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = true;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme.name = "adwaita";
|
||||
style.name = "adwaita-dark";
|
||||
};
|
||||
|
||||
home.stateVersion = "24.11";
|
||||
}
|
||||
60
home-manager/features/shell.nix
Normal file
60
home-manager/features/shell.nix
Normal file
@@ -0,0 +1,60 @@
|
||||
# Set up the user's prompt as ZSH with Starship
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
envExtra = ''
|
||||
. "$HOME/.cargo/env"
|
||||
'';
|
||||
initExtra = ''
|
||||
# Make ^U work like it does in Bash
|
||||
bindkey "^U" backward-kill-line
|
||||
|
||||
# Disable the extra characters when pasting
|
||||
unsetopt bracketedpaste
|
||||
|
||||
alias 'p?'='ps ax | grep'
|
||||
'';
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
# theme = "powerlevel10k";
|
||||
plugins = [
|
||||
"git"
|
||||
"git-prompt"
|
||||
"direnv"
|
||||
"sudo"
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
plugins = [
|
||||
{
|
||||
name = "zsh-autosuggestions";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "zsh-users";
|
||||
repo = "zsh-autosuggestions";
|
||||
rev = "0e810e5afa27acbd074398eefbe28d13005dbc15";
|
||||
hash = "sha256-85aw9OM2pQPsWklXjuNOzp9El1MsNb+cIiZQVHUzBnk=";
|
||||
};
|
||||
}
|
||||
{
|
||||
name = "zsh-syntax-highlighting";
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "zsh-users";
|
||||
repo = "zsh-syntax-highlighting";
|
||||
rev = "5eb677bb0fa9a3e60f0eff031dc13926e093df92";
|
||||
hash = "sha256-KRsQEDRsJdF7LGOMTZuqfbW6xdV5S38wlgdcCM98Y/Q=";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
55
home-manager/features/terminal.nix
Normal file
55
home-manager/features/terminal.nix
Normal file
@@ -0,0 +1,55 @@
|
||||
# Configure my terminal of choice
|
||||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
settings = {
|
||||
window = {
|
||||
blur = true;
|
||||
opacity = 0.85;
|
||||
};
|
||||
|
||||
selection.save_to_clipboard = true;
|
||||
|
||||
colors = {
|
||||
## Decay theme
|
||||
# Eye Friendly Colors
|
||||
# Created by https://github.com/decaycs
|
||||
bright = {
|
||||
black = "#384148";
|
||||
blue = "#8cc1ff";
|
||||
cyan = "#90daff";
|
||||
green = "#94f7c5";
|
||||
magenta = "#e2a6ff";
|
||||
red = "#fc7b81";
|
||||
white = "#fafdff";
|
||||
yellow = "#ffeba6";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
cursor = "#f5f5f5";
|
||||
text = "CellForeground";
|
||||
};
|
||||
|
||||
|
||||
normal = {
|
||||
black = "#1c252c";
|
||||
blue = "#70a5eb";
|
||||
cyan = "#74bee9";
|
||||
green = "#78dba9";
|
||||
magenta = "#c68aee";
|
||||
red = "#e05f65";
|
||||
white = "#dee1e6";
|
||||
yellow = "#f1cf8a";
|
||||
};
|
||||
|
||||
primary = {
|
||||
background = "#171a1f";
|
||||
foreground = "#b6beca";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user