Added initial files

This commit is contained in:
baduhai 2022-11-29 17:36:21 -03:00
commit 0c97384a8d
20 changed files with 874 additions and 0 deletions

1
users/common.nix Normal file
View file

@ -0,0 +1 @@

232
users/desktops/io/user.nix Normal file
View file

@ -0,0 +1,232 @@
{ config, pkgs, ... }:
{
home = {
username = "user";
homeDirectory = "/home/user";
stateVersion = "22.05";
pointerCursor = {
size = 24;
gtk.enable = true;
x11.enable = true;
name = "breeze_cursors";
package = pkgs.breeze-icons;
};
packages = with pkgs; [
syncthingtray
];
sessionVariables = {
EDITOR = "micro";
NIXPKGS_ALLOW_UNFREE = "1";
};
file = {
# Dotfiles that can't be managed via home-manager
".scripts/pfetch" = {
executable = true;
source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/scripts/pfetch";
sha256 = "UEfTG1XCuN2GlpPz1gdQ5mxgutlX2XL58rGOqtaUgV4=";
};
};
".local/share/color-schemes/BreezeDarkNeutral.colors".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/color-schemes/BreezeDarkNeutral.colors";
sha256 = "Fw5knhpV47HlgYvbHFzfi6M6Tk2DTlAuFUYc2WDDBc8=";
};
".config/MangoHud/MangoHud.conf".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/MangoHud/MangoHud.conf";
sha256 = "WCRsS6njtU4aR7tMiX8oWa2itJyy04Zp7wfwV20SLZs=";
};
".config/kitty/search.py".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/kitty/search.py";
sha256 = "mi5GB8CmWafAdp3GYnsQM4VHpXhuaVYX7YDT+9426Jc=";
};
".config/kitty/scroll_mark.py".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/baduhai/dotfiles/master/kitty/scroll_mark.py";
sha256 = "Abif6LIOCiXyDdQMZ4pQnLK++It0VYIM+WE7Oydwkfo=";
};
# Autostart programs
".config/autostart/org.kde.yakuake.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/org.kde.yakuake.desktop";
".config/autostart/megasync.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/megasync.desktop";
".config/autostart/koi.desktop".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/applications/koi.desktop";
# Fix flatpak fonts, themes, icons and cursor
".icons/breeze_cursors".source = config.lib.file.mkOutOfStoreSymlink "/run/current-system/sw/share/icons/breeze_cursors";
".local/share/flatpak/overrides/global".text = "[Context]\nfilesystems=/run/current-system/sw/share/X11/fonts:ro;~/.local/share/color-schemes:ro;xdg-config/gtk-3.0:ro;/nix/store:ro;~/.icons:ro";
};
};
fonts.fontconfig.enable = true; # Allow fonts installed by home-manager to be available session wide
gtk = {
enable = true;
font = { name = "Inter"; size = 10; };
theme = { package = pkgs.breeze-gtk; name = "Breeze"; };
iconTheme = { package = pkgs.breeze-icons; name = "Breeze"; };
};
services = {
kdeconnect.enable = true;
syncthing = {
enable = true;
tray = {
enable = true;
package = pkgs.writeShellScriptBin "syncthingtray" "exec ${pkgs.syncthingtray}/bin/syncthingtray --wait" // { pname = "syncthingtray"; }; # Override synctray so it waits for a system tray
};
};
home-manager.autoUpgrade = { # Auto upgrade home-manager, unsure if this works or not
enable = true;
frequency = "*-*-* 20:00:00";
};
};
xdg = {
enable = true;
desktopEntries = {
steamGamepadUi = { # Menu entry for steam gamepad ui
terminal = false;
icon = "steam_deck";
exec = "steam -gamepadui";
name = "Steam (Gamepad UI)";
categories = [ "Game" ];
};
};
};
programs = {
home-manager.enable = true;
password-store = {
enable = true;
package = pkgs.pass-wayland;
};
bash = {
enable = true;
historyFile = "~/.cache/bash_history";
};
micro = {
enable = true;
settings = {
clipboard = "terminal";
mkparents = true;
scrollbar = true;
tabstospaces = true;
tabsize = 2;
};
};
fish = {
enable = true;
interactiveShellInit = "any-nix-shell fish --info-right | source";
loginShellInit = "any-nix-shell fish --info-right | source";
shellAliases = {
d = "kitty +kitten diff";
nano = "micro";
wget = "wget --hsts-file=\"$XDG_DATA_HOME/wget-hsts\"";
ssh = "kitty +kitten ssh";
};
functions = {
fish_greeting = ''
set -x PF_INFO ascii title os kernel uptime wm memory palette
eval $HOME/.scripts/pfetch
'';
tsh = "ssh -o RequestTTY=yes $argv tmux -u -CC new -A -s tmux-main";
pacin = "nix-env -iA nixos.$argv";
pacre = "nix-env -e $argv";
trizen = "nix search nixpkgs $argv";
rebuild = "rm ~/.gtkrc-2.0; sudo nixos-rebuild switch --flake '/home/user/Projects/nix-config#'";
rebuild-boot = "rm ~/.gtkrc-2.0; sudo nixos-rebuild boot --flake '/home/user/Projects/nix-config#'";
upgrade = "rm ~/.gtkrc-2.0; nix flake update --commit-lock-file /home/user/Projects/nix-config; sudo nixos-rebuild switch --upgrade --flake '/home/user/Projects/nix-config#'";
upgrade-boot = "rm ~/.gtkrc-2.0; nix flake update --commit-lock-file /home/user/Projects/nix-config; sudo nixos-rebuild boot --upgrade --flake '/home/user/Projects/nix-config#'";
};
shellInit = ''
set -g PF_INFO ascii title os kernel uptime wm memory palette
set -g theme_date_format "+%H:%M"
set -g theme_date_timezone Europe/Berlin
set -g theme_avoid_ambiguous_glyphs yes
set -g theme_color_scheme dark
set -g theme_nerd_fonts yes
set -g theme_display_git_default_branch yes
set -g -x FONTCONFIG_FILE ${pkgs.fontconfig.out}/etc/fonts/fonts.conf
'';
plugins = [
{
name = "bobthefish";
src = pkgs.fetchFromGitHub {
owner = "oh-my-fish";
repo = "theme-bobthefish";
rev = "2dcfcab653ae69ae95ab57217fe64c97ae05d8de";
sha256 = "jBbm0wTNZ7jSoGFxRkTz96QHpc5ViAw9RGsRBkCQEIU=";
};
}
{
name = "bang-bang";
src = pkgs.fetchFromGitHub {
owner = "oh-my-fish";
repo = "plugin-bang-bang";
rev = "f969c618301163273d0a03d002614d9a81952c1e";
sha256 = "A8ydBX4LORk+nutjHurqNNWFmW6LIiBPQcxS3x4nbeQ=";
};
}
{
name = "fzf.fish";
src = pkgs.fetchFromGitHub {
owner = "PatrickF1";
repo = "fzf.fish";
rev = "v9.2";
sha256 = "XmRGe39O3xXmTvfawwT2mCwLIyXOlQm7f40mH5tzz+s=";
};
}
];
};
btop = {
enable = true;
settings = {
color_theme = "gruvbox_dark.theme";
theme_background = false;
proc_sorting = "cpu direct";
update_ms = 500;
};
};
kitty = {
enable = true;
theme = "Afterglow";
font = {
name = "Hack Nerd Font";
size = 10;
};
keybindings = {
"kitty_mod+f" = "launch --location=hsplit --allow-remote-control kitty +kitten search.py @active-kitty-window-id";
};
settings = {
clipboard_control = "write-clipboard read-clipboard write-primary read-primary";
confirm_os_window_close = "-2";
cursor_shape = "block";
initial_window_height = "570";
initial_window_width = "120c";
remember_window_size = "no";
tab_bar_background = "#3b3b3b";
tab_bar_margin_color = "#3b3b3b";
tab_bar_margin_height = "3 3";
tab_bar_margin_width = 2;
tab_bar_min_tabs = 1;
tab_bar_style = "fade";
tab_fade = 0;
tab_switch_strategy = "left";
tab_title_template = "{fmt.bg._3b3b3b}{fmt.fg._202020}{fmt.fg.default}{fmt.bg._202020}{fmt.fg._c6c6c6} {title} {fmt.fg.default}{fmt.bg.default}{fmt.fg._202020}{fmt.fg.default}";
active_tab_title_template = "{fmt.bg._3b3b3b}{fmt.fg._fcfcfc}{fmt.fg.default}{fmt.bg._fcfcfc}{fmt.fg._3b3b3b} {title} {fmt.fg.default}{fmt.bg.default}{fmt.fg._fcfcfc}{fmt.fg.default}";
};
};
tmux = {
enable = true;
clock24 = true;
extraConfig = "set -g mouse on";
};
git = {
enable = true;
diff-so-fancy.enable = true;
userName = "William";
userEmail = "williamhai@hotmail.com";
};
mangohud = {
enable = true;
enableSessionWide = true;
};
};
}