Adds initial files

This commit is contained in:
2025-02-01 11:19:48 -08:00
parent dff2a50ac2
commit b4e9f9d650
7 changed files with 1058 additions and 0 deletions

126
home-manager/drew.nix Normal file
View 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";
}

View 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;
};
};
}

View 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";
};
};
};
};
}