{ config, pkgs, inputs, lib, ... }: { #imports = [ # ./firefox.nix #]; home.username = "xqtc"; home.homeDirectory = "/home/xqtc"; programs.git = { enable = true; userName = "xqtc161"; userEmail = "xqtc@tutanota.com"; }; programs.wezterm = { enable = true; extraConfig = builtins.readFile ./config-files/wezterm.lua; }; #programs.dconf.enable = true; #programs.easyeffects.enable = true; #services.easyeffects.enable = true; programs = { atuin = { enable = true; enableNushellIntegration = true; }; nushell = { enable = true; # The config.nu can be anywhere you want if you like to edit your Nushell with Nu extraConfig = builtins.readFile ./config-files/config.nu; }; carapace.enable = true; carapace.enableNushellIntegration = true; starship = let flavour = "mocha"; in { enable = true; enableNushellIntegration = true; settings = { # Other config here character = { success_symbol = "[λ::](bold green)"; error_symbol = "[λ::](bold red)"; }; format = "$all"; # Remove this line to disable the default prompt format palette = "catppuccin_${flavour}"; } // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub { owner = "catppuccin"; repo = "starship"; rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f"; # Replace with the latest commit hash sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0="; } + /palettes/${flavour}.toml)); }; #starship = { enable = true; # settings = { # add_newline = true; # character = { # success_symbol = "[λ::](bold green)"; # error_symbol = "[λ::](bold red)"; # }; # }; #}; }; dconf.enable = true; dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; }; gtk = { enable = true; theme = { name = "Catppuccin-Mocha-Compact-Pink-Dark"; package = pkgs.catppuccin-gtk.override { accents = [ "pink" ]; size = "compact"; tweaks = [ "rimless" ]; variant = "mocha"; }; }; }; #qt = { # enable = true; # platformTheme = "gnome"; # style = "Catppuccin-Mocha-Compact-Pink-Dark"; #}; #systemd.xqtc.sessionVariables = config.home-manager.users.xqtc.home.sessionVariables; home.sessionVariables.DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox"; programs.firefox = { enable = true; package = pkgs.firefox.override { cfg = { enableGnomeExtensions = true; }; }; }; # profiles.xqtc = { # isDefault = true; # extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ # ublock-origin # bitwarden # sidebery # darkreader # noscript # ]; # search = { # default = "DuckDuckGo"; # force = true; # engines = { # "Nix Packages" = { # urls = [{ # template = "https://search.nixos.org/packages"; # params = [ # { name = "type"; value = "packages"; } # { name = "query"; value = "{searchTerms}"; } # ]; # }]; # # icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; # definedAliases = [ "@np" ]; # }; # # "NixOS Wiki" = { # urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; # iconUpdateURL = "https://nixos.wiki/favicon.png"; # updateInterval = 24 * 60 * 60 * 1000; # every day # definedAliases = [ "@nw" ]; # }; # # "Bing".metaData.hidden = true; # "Google".metaData.hidden = true; # "DuckDuckGo".metaData.alias = "@ddg"; # }; # }; # settings = { # "app.normandy.first_run" = false; # "app.shield.optoutstudies.enabled" = false; # "privacy.donotttrackheader.enabled" = true; # "browser.startup.homepage" = "https://start.duckduckgo.com"; # "browser.search.region" = "DE"; # "browser.search.isUS" = false; # "browser.theme.content-theme" = "0"; # "browser.theme.toolbar-theme" = "0"; # "browser.newtabpage.activity-stream.showSponsored" = false; # "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; # "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored" = false; # "services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites" = false; # "browser.toolbars.bookmarks.visibility" = "never"; # "general.useragent.locale" = "de-DE"; # "distribution.searchplugins.defaultLocale" = "de-DE"; # "signon.rememberSignons" = false; # "toolkit.legacyUserProfileCustomizations.stylesheets" = true; # Needed to allow userChrome.css # }; # userChrome = '' # #TabsToolbar { # display: none; !important # } # #sidebar-header { # display: none; # } # ''; # }; # }; programs.nixvim = { enable = true; globals.mapleader = " "; extraConfigLua = builtins.readFile ./config-files/nvim/init.lua; clipboard.providers.wl-copy.enable = true; options = { number = true; # Show line numbers relativenumber = true; # Show relative line numbers shiftwidth = 2; # Tab width should be 2 }; colorschemes.catppuccin.enable = true; plugins = { lualine.enable = true; lsp-format = { enable = true; }; lsp = { enable = true; servers = { lua-ls.enable = true; clangd.enable = true; svelte.enable = true; tsserver.enable = true; eslint.enable = true; rust-analyzer = { enable = true; installLanguageServer = false; installCargo = false; installRustc = false; }; nil_ls.enable = true; }; }; gitsigns.enable = true; fugitive.enable = true; treesitter = { enable = true; folding = true; indent = true; nixvimInjections = true; }; treesitter-refactor = { enable = true; smartRename.enable = true; highlightCurrentScope.enable = true; navigation.enable = true; }; cursorline.enable = true; #nvim-cmp = { # enable = true; # sources = [ # {name = "nvim_lsp";} # {name = "path";} # {name = "buffer";} # ]; #}; nvim-cmp = { enable = true; autoEnableSources = true; sources = [ {name = "nvim_lsp";} {name = "path";} {name = "buffer";} {name = "luasnip";} ]; snippet.expand = "luasnip"; mapping = { "" = "cmp.mapping.confirm({ select = true })"; "" = { action = '' function(fallback) local luasnip = require 'luasnip' if cmp.visible() then cmp.select_next_item() elseif luasnip.expandable() then luasnip.expand() elseif luasnip.expand_or_jumpable() then luasnip.expand_or_jump() else fallback() end end ''; modes = [ "i" "s" ]; }; }; }; telescope.enable = true; telescope.extensions = { file_browser.enable = true; }; which-key.enable = true; cmp-nvim-lsp.enable = true; cmp-nvim-lua.enable = true; noice.enable = true; notify.enable = true; luasnip.enable = true; neo-tree.enable = true; presence-nvim.enable = true; crates-nvim.enable = true; fidget.enable = true; alpha = { enable = true; theme = "startify"; }; bufferline.enable = true; }; keymaps = [ { mode = "n"; key = "ff"; options.silent = true; action = "Telescope file_browser"; } { mode = "n"; key = "bb"; options.silent = true; action = "Telescope buffers"; } { mode = "n"; key = "Gp"; action = "Git pull"; } { mode = "n"; key = "GP"; action = "Git push"; } { mode = "n"; key = "Gc"; action = "Git commit"; } { mode = "n"; key = "Ga"; action = "Git add ."; } { mode = "n"; key = "Gd"; action = "Git diff"; } { mode = "n"; key = "nt"; action = "Neotree toggle left"; } { mode = "n"; key = "P"; action = "\"+p"; } { mode = [ "n" "v" ]; key = "y"; action = "[[\"+y]]"; } { mode = [ "n" ]; key = "Y"; action = "[[\"+Y]]"; } ]; }; wayland.windowManager.hyprland = { enable = true; package = pkgs.hyprland; xwayland.enable = true; #enableNvidiaPatches = true; extraConfig = builtins.readFile ./config-files/hyprland.conf; }; services.mako = { enable = true; font = "Hack Nerd Font 15"; }; #home.file."~/.config/hypr/hyprland.conf. home.packages = with pkgs; [ neofetch uwufetch btop iftop bitwarden bitwarden-cli sway-contrib.grimshot #zathura libnotify strace ltrace nodejs nerdfonts vivaldi vivaldi-ffmpeg-codecs signal-desktop vesktop discord telegram-desktop webex #schildichat-desktop qbittorrent nicotine-plus neovide jetbrains.rust-rover yubioath-flutter steam protonup-qt spotify sayonara mpv nixos-icons swww ]; home.stateVersion = "23.11"; programs.home-manager.enable = true; }