diff --git a/flake.lock b/flake.lock index b8df499..496aec5 100644 --- a/flake.lock +++ b/flake.lock @@ -84,22 +84,6 @@ "type": "github" } }, - "dotfiles": { - "flake": false, - "locked": { - "lastModified": 1692370340, - "narHash": "sha256-NkLUrGAOj804gukbWxAr4A1djsshFT8pc3gdS8OCunY=", - "owner": "baduhai", - "repo": "dotfiles", - "rev": "0fa1b89b7c9269a8411b6f50c1109a306b55efef", - "type": "github" - }, - "original": { - "owner": "baduhai", - "repo": "dotfiles", - "type": "github" - } - }, "flake-compat": { "flake": false, "locked": { @@ -454,7 +438,6 @@ "agenix": "agenix", "baduhai-nur": "baduhai-nur", "deploy-rs": "deploy-rs", - "dotfiles": "dotfiles", "home-manager": "home-manager_2", "homepage": "homepage", "kmonad": "kmonad", diff --git a/flake.nix b/flake.nix index 29579d8..939bff1 100644 --- a/flake.nix +++ b/flake.nix @@ -37,11 +37,6 @@ flake = false; }; - dotfiles = { - url = "github:baduhai/dotfiles"; - flake = false; - }; - pre-commit-hooks = { url = "github:cachix/pre-commit-hooks.nix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -59,7 +54,7 @@ }; outputs = inputs@{ self, nixpkgs, home-manager, baduhai-nur, kmonad - , nixpkgs-stable, deploy-rs, agenix, nixos-generators, homepage, dotfiles + , nixpkgs-stable, deploy-rs, agenix, nixos-generators, homepage , pre-commit-hooks, nix-minecraft, yousable, ... }: { nixosConfigurations = { rotterdam = nixpkgs.lib.nixosSystem { diff --git a/users/common/home.nix b/users/common/home.nix index 8611029..333e412 100644 --- a/users/common/home.nix +++ b/users/common/home.nix @@ -1,6 +1,55 @@ -{ inputs, config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: -{ +let + btop_catppuccin_mocha = pkgs.writeTextFile { + name = "catppuccin_mocha.theme"; + text = '' + theme[main_bg]="#1E1E2E" + theme[main_fg]="#CDD6F4" + theme[title]="#CDD6F4" + theme[hi_fg]="#89B4FA" + theme[selected_bg]="#45475A" + theme[selected_fg]="#89B4FA" + theme[inactive_fg]="#7F849C" + theme[graph_text]="#F5E0DC" + theme[meter_bg]="#45475A" + theme[proc_misc]="#F5E0DC" + theme[cpu_box]="#74C7EC" + theme[mem_box]="#A6E3A1" + theme[net_box]="#CBA6F7" + theme[proc_box]="#F2CDCD" + theme[div_line]="#6C7086" + theme[temp_start]="#F9E2AF" + theme[temp_mid]="#FAB387" + theme[temp_end]="#F38BA8" + theme[cpu_start]="#74C7EC" + theme[cpu_mid]="#89DCEB" + theme[cpu_end]="#94E2D5" + theme[free_start]="#94E2D5" + theme[free_mid]="#94E2D5" + theme[free_end]="#A6E3A1" + theme[cached_start]="#F5C2E7" + theme[cached_mid]="#F5C2E7" + theme[cached_end]="#CBA6F7" + theme[available_start]="#F5E0DC" + theme[available_mid]="#F2CDCD" + theme[available_end]="#F2CDCD" + theme[used_start]="#FAB387" + theme[used_mid]="#FAB387" + theme[used_end]="#F38BA8" + theme[download_start]="#B4BEFE" + theme[download_mid]="#B4BEFE" + theme[download_end]="#CBA6F7" + theme[upload_start]="#B4BEFE" + theme[upload_mid]="#B4BEFE" + theme[upload_end]="#CBA6F7" + theme[process_start]="#74C7EC" + theme[process_mid]="#89DCEB" + theme[process_end]="#94E2D5" + ''; + }; + +in { home = { username = "user"; homeDirectory = "/home/user"; @@ -10,8 +59,7 @@ EDITOR = "hx"; }; file = { - ".config/starship.toml".source = - "${inputs.dotfiles}/.config/starship.toml"; + ".config/btop/themes/catppuccin_mocha".source = btop_catppuccin_mocha; }; packages = with pkgs; [ nix-your-shell ]; }; diff --git a/users/common/programs.nix b/users/common/programs.nix index a7b7e81..9af8e6c 100644 --- a/users/common/programs.nix +++ b/users/common/programs.nix @@ -1,14 +1,19 @@ -{ inputs, config, pkgs, lib, ... }: { +{ config, pkgs, lib, ... }: + +{ programs = { password-store.enable = true; + bash = { enable = true; historyFile = "~/.cache/bash_history"; }; + nix-index = { enable = true; enableFishIntegration = true; }; + helix = { enable = true; settings = { @@ -30,26 +35,110 @@ "ui.background" = "{}"; }; }; + direnv = { enable = true; nix-direnv.enable = true; }; + tmux = { enable = true; clock24 = true; extraConfig = "set -g mouse on"; }; + starship = { enable = true; enableBashIntegration = true; enableFishIntegration = true; + settings = { + add_newline = false; + format = '' + [░▒▓](text)$os[](fg:text bg:prim)$directory[](fg:prim bg:seco)$git_branch$git_status[](fg:seco bg:tert)$nix_shell$rust[](fg:tert bg:quar)$time[](fg:quar)$fill[](fg:quar)$cmd_duration[](fg:tert bg:quar)[](fg:seco bg:tert)[](fg:prim bg:seco)$hostname[▓▒░](text) + [  ](seco)''; + palette = "night"; + os = { + disabled = false; + style = "bg:text fg:bg"; + symbols.NixOS = "  "; + }; + directory = { + format = "[ $path ]($style)"; + style = "fg:bg bg:prim"; + truncation_length = 3; + truncation_symbol = "󰇘 "; + substitutions = { + Documents = " "; + Downloads = " "; + Music = " "; + Pictures = " "; + Videos = " "; + }; + }; + git_branch = { + format = "[[ $symbol $branch ](fg:bg bg:seco)]($style)"; + style = "bg:seco"; + symbol = ""; + }; + git_status = { + format = "[[($all_status$ahead_behind )](fg:bg bg:seco)]($style)"; + style = "bg:seco"; + }; + right_format = "$character"; + nix_shell = { + format = "[[ $symbol ](fg:bg bg:tert)]($style)"; + heuristic = true; + style = "bg:tert"; + symbol = "󱄅"; + }; + rust = { + format = "[[ $symbol ($version) ](fg:bg bg:tert)]($style)"; + style = "bg:tert"; + symbol = ""; + }; + time = { + disabled = false; + format = "[[  $time ](fg:seco bg:quar)]($style)"; + style = "bg:quar"; + time_format = "%R"; + }; + fill.symbol = " "; + cmd_duration = { + format = "[[ $duration  ](fg:seco bg:quar)]($style)"; + min_time = 0; + style = "bg:quar"; + }; + hostname = { + format = + "[[$ssh_symbol](fg:bg bg:prim)[](bg:prim fg:text)$hostname ]($style)"; + ssh_only = false; + ssh_symbol = "  "; + style = "fg:bg bg:text"; + }; + character = { + error_symbol = "[✗](bold red) "; + success_symbol = "[󱐋](bold green) "; + }; + palettes.night = { + bg = "#1E1E2E"; + green = "#a6e3a1"; + prim = "#a2b3e6"; + quar = "#303062"; + red = "#f38ba8"; + seco = "#738cd9"; + tert = "#4566cd"; + text = "#d0d9f2"; + }; + }; }; + git = { enable = true; diff-so-fancy.enable = true; userName = "William"; userEmail = "baduhai@proton.me"; }; + btop = { enable = true; settings = { @@ -59,6 +148,7 @@ update_ms = 500; }; }; + micro = { enable = true; settings = { @@ -70,6 +160,7 @@ colorscheme = "simple"; }; }; + fish = { enable = true; interactiveShellInit = "nix-your-shell fish | source"; diff --git a/users/desktops/common/home.nix b/users/desktops/common/home.nix index 76eaf47..b695b30 100644 --- a/users/desktops/common/home.nix +++ b/users/desktops/common/home.nix @@ -1,4 +1,4 @@ -{ inputs, config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: { home = { @@ -10,12 +10,6 @@ package = pkgs.breeze-icons; }; file = { - ".config/wezterm/wezterm.lua".source = - "${inputs.dotfiles}/.config/wezterm/wezterm.lua"; - ".config/MangoHud/MangoHud.conf".source = - "${inputs.dotfiles}/.config/MangoHud/MangoHud.conf"; - ".config/solvespace/settings.json".source = - "${inputs.dotfiles}/.config/solvespace/settings.json"; ".config/lite-xl/fonts/icon-nerd-font.ttf".source = config.lib.file.mkOutOfStoreSymlink "/var/run/current-system/sw/share/X11/fonts/HackNerdFontMono-Regular.ttf"; diff --git a/users/desktops/common/programs.nix b/users/desktops/common/programs.nix index 5b3f66d..3970c8d 100644 --- a/users/desktops/common/programs.nix +++ b/users/desktops/common/programs.nix @@ -1,4 +1,4 @@ -{ inputs, config, pkgs, lib, ... }: +{ config, pkgs, lib, ... }: { fonts.fontconfig.enable = true; @@ -20,11 +20,56 @@ }; programs = { + password-store.package = pkgs.pass-wayland; + mangohud = { enable = true; enableSessionWide = true; + settings = { + control = "mangohud"; + legacy_layout = 0; + text_color = "ffffff"; + ram_color = "ffffff"; + vram_color = "ffffff"; + frametime_color = "ffffff"; + media_player_color = "ffffff"; + io_color = "ffffff"; + engine_color = "ffffff"; + background_alpha = 0; + offset_y = 4; + offset_x = 4; + position = "top-left"; + toggle_hud = "Shift_R+F12"; + horizontal = true; + time = true; + time_format = "%H:%M"; + battery_icon = true; + gamepad_battery_icon = true; + gpu_stats = true; + gpu_temp = true; + gpu_load_change = true; + gpu_load_value = "50,90"; + gpu_text = "GPU"; + gpu_color = "ffffff"; + gpu_load_color = "FFFFFF,FFAA7F,CC0000"; + cpu_stats = true; + cpu_temp = true; + cpu_load_change = true; + core_load_change = true; + cpu_load_value = "50,90"; + cpu_text = "CPU"; + cpu_color = "ffffff"; + cpu_load_color = "FFFFFF,FFAA7F,CC0000"; + vram = true; + ram = true; + fps = true; + frame_timing = true; + table_columns = 20; + horizontal_stretch = 0; + }; }; + obs-studio = { enable = true; plugins = [ @@ -33,6 +78,7 @@ pkgs.obs-studio-plugins.obs-pipewire-audio-capture ]; }; + fish = { functions = { rebuild = @@ -45,5 +91,31 @@ "rm ~/.gtkrc-2.0; nix run '/home/user/Projects/personal/nix-config#homeConfigurations.desktop.activationPackage'"; }; }; + + wezterm = { + enable = true; + extraConfig = '' + function scheme_for_appearance(appearance) + if appearance:find "Dark" then + return "Catppuccin Mocha" + else + return "Catppuccin Macchiato" + end + end + return { + font_size = 11, + color_scheme = scheme_for_appearance(wezterm.gui.get_appearance()), + hide_tab_bar_if_only_one_tab = true, + font = wezterm.font_with_fallback ({ + "Hack Nerd Font", + "Noto Color Emoji", + }), + initial_cols = 108, + initial_rows = 32, + enable_tab_bar = false, + enable_scroll_bar = true, + } + ''; + }; }; }