nixos-greynix/mods/home.nix

167 lines
3.7 KiB
Nix

{ config, pkgs, ... }:
{
home.username = "elias";
home.homeDirectory = "/home/elias";
# 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
# '';
# Packages that should be installed to the user profile.
home.packages = with pkgs; [
];
# Environment
home.sessionVariables = {
EDITOR = "nano";
BROWSER = "firefox";
TERMINAL = "alacritty";
};
# Basic configuration of git, please change to your own
programs.git = {
enable = true;
userName = "Tootbrute";
userEmail = "tootbrute@tutamail.com";
extraConfig = {
init.defaultBranch = "main";
};
};
# Starship - an customizable prompt for any shell
programs.starship = {
enable = true;
# custom settings
settings = {
add_newline = false;
aws.disabled = true;
gcloud.disabled = true;
line_break.disabled = true;
};
};
# alacritty - a cross-platform, GPU-accelerated terminal emulator
programs.alacritty = {
enable = true;
# custom settings
settings = {
env.TERM = "xterm-256color";
font = {
normal = {
family = "JetBrains Mono Nerd Font";
style = "Regular";
};
bold = {
family = "JetBrains Mono Nerd Font";
style = "Bold";
};
italic = {
family = "JetBrains Mono Nerd Font";
style = "Italic";
};
};
font = {
size = 20;
};
window.dimensions = {
lines = 40;
columns = 200;
};
scrolling.multiplier = 5;
selection.save_to_clipboard = true;
};
};
#GNOME desktop settings
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
# Set Wallpaper
"org/gnome/desktop/background" = {
"picture-uri" = "/home/elias/.background-image";
"picture-uri-dark" = "/home/elias/.background-image";
};
};
# Create Wallpaper file for use with GNOME Dconf settings
home.file.".background-image" = {
source = ../files/wallpaper.png;
};
gtk = {
enable = true;
gtk3.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
gtk4.extraConfig = {
Settings = ''
gtk-application-prefer-dark-theme=1
'';
};
};
programs.bash = {
enable = true;
enableCompletion = true;
bashrcExtra = ''
export PATH="$PATH:$HOME/bin:$HOME/.local/bin:$HOME/go/bin"
'';
};
/*
# neovim setup
vim = {
theme = {
enable = true;
name = "gruvbox";
style = "dark";
};
statusLine.lualine.enable = true;
telescope.enable = true;
autocomplete.nvim-cmp.enable = true;
languages = {
enableLSP = true;
enableTreesitter = true;
nix.enable = true;
ts.enable = true;
rust.enable = true;
};
};
*/
# 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.
#
# 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.
home.stateVersion = "24.05";
# Let home Manager install and manage itself.
programs.home-manager.enable = true;
}