nixos-config/home.nix

255 lines
6.1 KiB
Nix

{ lib, pkgs, ... }:
{
home.username = "ark";
home.homeDirectory = "/home/ark";
home.stateVersion = "24.05";
home.packages = [
pkgs.bun # bun js runtime
pkgs.elixir # elixir lang
pkgs.blender # blender 3d tool
pkgs.prismlauncher # Minecraft launcher
pkgs.zulu17 # Java 17 binary
pkgs.janet # Janet lang, for later testing
pkgs.uxn # uxn tools from 100r
pkgs.onefetch # git neofetch-type tool
pkgs.elixir-ls # elixir lsp (maybe replace?)
pkgs.erlang-ls # erlang lsp
pkgs.zls # zig lsp
pkgs.nil # nix lsp
pkgs.pfetch-rs
pkgs.gimp
pkgs.nim
pkgs.nimlangserver
];
services = {
dunst = {
enable = true;
};
};
wayland.windowManager.hyprland = {
enable = true;
xwayland = {
enable = true;
};
settings = {
"$mod" = "SUPER";
"$terminal" = "alacritty";
bind = [
"$mod, S, exec, rofi -show drun -show-icons"
"$mod, Q, exec, $terminal"
"$mod, M, exit,"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, 0, movetoworkspace, 10"
];
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
exec-once = [
"udiskie"
"wpaperd"
"dunst"
"lxqt-policykit-agent"
"nm-applet --indicator"
"waybar"
];
decoration = {
rounding = 0;
};
};
};
programs = {
wpaperd = {
enable = true;
settings = {
default = {
path = "./wallpapers/here-everblush.png";
apply-shadow = true;
};
};
};
firefox = {
enable = true;
profiles.default = {
id = 0;
name = "default";
isDefault = true;
search.force = true;
search.default = "LibRedirect";
search.privateDefault = "LibRedirect";
settings = {
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.toolbars.bookmarks.visibility" = "never";
"signon.rememberSignons" = false;
};
containersForce = true;
containers = {
"school" = {
id = 0;
color = "red";
icon = "fruit";
};
};
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
ublock-origin
bitwarden
libredirect
sidebery
stylus
firefox-color
tabliss
];
bookmarks = [
{
name = "nixos";
bookmarks = [
{
name = "nixos packages";
url = "https://search.nixos.org";
}
{
name = "home manager wiki";
url = "https://nix-community.github.io/home-manager";
}
{
name = "everblush theme repo";
url = "https://github.com/Everblush/everblush";
}
];
}
];
userChrome = builtins.readFile ./firefox/userChrome.css;
};
};
alacritty = {
enable = true;
settings = {
window = {
padding = {
x = 4;
y = 4;
};
};
font = {
size = 14;
normal = {
family = "CozetteVector";
style = "Medium";
};
bold = {
family = "CozetteVectorBold";
style = "Medium";
};
italic = {
family = "CozetteVector";
style = "Medium";
};
bold_italic = {
family = "CozetteVectorBold";
style = "Medium";
};
};
};
};
hyfetch = {
enable = true;
settings = {
preset = "transfeminine";
mode = "rgb";
light_dark = "dark";
lightness = 0.5;
color_align = {
mode = "horizontal";
custom_colors = [];
fore_back = null;
};
backend = "neofetch";
args = null;
distro = null;
pride_month_shown = [];
pride_month_disable = false;
};
};
rofi = {
enable = true;
package = pkgs.rofi-wayland;
theme = ./rofi/config.rasi;
};
lsd = {
enable = true;
};
helix = {
enable = true;
defaultEditor = true;
settings = {
theme = "everblush";
editor = {
mouse = false;
line-number = "relative";
cursorline = true;
color-modes = true;
cursor-shape = {
insert = "bar";
normal = "block";
select = "underline";
};
indent-guides = {
render = true;
};
};
};
};
starship = {
enable = true;
enableFishIntegration = true;
settings = {
add_newline = false;
format = lib.concatStrings [
"$character"
"$directory"
];
character = {
success_symbol = "";
error_symbol = "";
};
elixir = {
symbol = "";
};
};
};
git = {
enable = true;
userName = "ark-lamp-umbrella";
userEmail = "ark-lamp-umbrella@noreply.codeberg.org";
extraConfig = {
push = {
autoSetupRemote = true;
};
};
signing = {
key = "15078E3940CB5C65B450A86D15E48F7B97025652";
signByDefault = true;
};
};
};
}