summaryrefslogtreecommitdiff
path: root/nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix')
-rw-r--r--nix/default.nix365
-rw-r--r--nix/home/default.nix183
-rw-r--r--nix/programs/default.nix23
-rw-r--r--nix/programs/firefox/default.nix39
-rw-r--r--nix/programs/firefox/extraPrefs.nix22
-rw-r--r--nix/programs/firefox/policy.nix129
-rw-r--r--nix/programs/firefox/policyExtensions.nix64
-rw-r--r--nix/programs/firefox/policyPrefs.nix131
-rw-r--r--nix/programs/firefox/userChrome.nix23
-rw-r--r--nix/programs/git/default.nix21
-rw-r--r--nix/programs/gpg/default.nix36
-rw-r--r--nix/programs/hypr/default.nix10
-rw-r--r--nix/programs/hypr/hypridle.nix41
-rw-r--r--nix/programs/hypr/hyprland.nix332
-rw-r--r--nix/programs/hypr/hyprlock.nix89
-rw-r--r--nix/programs/hypr/hyprpaper.nix18
-rw-r--r--nix/programs/kitty/default.nix78
-rw-r--r--nix/programs/mako/default.nix32
-rw-r--r--nix/programs/neovim/default.nix541
-rw-r--r--nix/programs/sops/default.nix30
-rw-r--r--nix/programs/ssh/config12
-rw-r--r--nix/programs/ssh/default.nix10
-rw-r--r--nix/programs/starship/default.nix49
-rw-r--r--nix/programs/steam/default.nix26
-rw-r--r--nix/programs/talc/default.nix12
-rw-r--r--nix/programs/unofficial-homestuck-collection/default.nix12
-rw-r--r--nix/programs/waybar/default.nix80
-rw-r--r--nix/programs/waybar/style.nix115
-rw-r--r--nix/programs/wireguard/default.nix35
-rw-r--r--nix/programs/wofi/default.nix24
-rw-r--r--nix/programs/wofi/style.nix81
-rw-r--r--nix/programs/zsh/default.nix19
-rw-r--r--nix/programs/zsh/zprofile11
-rw-r--r--nix/programs/zsh/zshrc73
-rw-r--r--nix/system/default.nix161
-rw-r--r--nix/themes/catppuccin/default.nix6
-rw-r--r--nix/themes/catppuccin/frappe.nix40
-rw-r--r--nix/themes/catppuccin/latte.nix40
-rw-r--r--nix/themes/catppuccin/macchiato.nix40
-rw-r--r--nix/themes/catppuccin/mocha.nix40
-rw-r--r--nix/themes/default.nix4
-rw-r--r--nix/themes/tricolors.nix40
42 files changed, 0 insertions, 3137 deletions
diff --git a/nix/default.nix b/nix/default.nix
deleted file mode 100644
index a5e8f43..0000000
--- a/nix/default.nix
+++ /dev/null
@@ -1,365 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
- # monitor options
-
- monitorOpts = self: {
- options = {
-
- name = mkOption {
- type = types.str;
- description = "Name of the monitor.";
- };
-
- scale = mkOption {
- type = types.float;
- description = "Scaling factor of the monitor.";
- default = 1.0;
- };
-
- };
- };
-
- # theme color options
-
- colorOpts = self: {
- options = {
-
- name = mkOption {
- type = types.str;
- description = "Name of the theme";
- };
-
- author = mkOption {
- type = types.str;
- description = "Author of the theme";
- };
-
- fg = mkOption {
- type = types.str;
- description = "Text color";
- };
-
- bg = mkOption {
- type = types.str;
- description = "Background color";
- };
-
- surface = {
- fg = mkOption {
- type = types.str;
- description = "Surface text color";
- };
- bg = mkOption {
- type = types.str;
- description = "Surface background color";
- };
- };
-
- hover = {
- fg = mkOption {
- type = types.str;
- description = "Hover text color";
- };
- bg = mkOption {
- type = types.str;
- description = "Hover background color";
- };
- };
-
- primary = mkOption {
- type = types.str;
- description = "Primary accent color";
- };
-
- success = mkOption {
- type = types.str;
- description = "Success color";
- };
-
- warning = mkOption {
- type = types.str;
- description = "Warning color";
- };
-
- error = mkOption {
- type = types.str;
- description = "Error color";
- };
-
- normal = {
- black = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- blue = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- cyan = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- green = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- magenta = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- red = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- white = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
-
- yellow = mkOption {
- type = types.str;
- description = "Terminal normal color";
- };
- };
-
- bright = {
- black = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- blue = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- cyan = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- green = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- magenta = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- red = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- white = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
-
- yellow = mkOption {
- type = types.str;
- description = "Terminal bright color";
- };
- };
-
- };
- };
-
- stateVersion = "25.05";
-
-in
-
-{
-
- imports = [
- ./programs
- ./home
- ./system
- ];
-
- options = {
-
- #
- # System information
- #
- hostName = mkOption {
- type = types.str;
- description = "Hostname of the system.";
- };
-
- #
- # Primary user of the system
- #
- user = mkOption {
- type = types.str;
- description = "Primary user of the system";
- };
- fullName = mkOption {
- type = types.str;
- description = "Human readable name of the user";
- };
- email = mkOption {
- type = types.str;
- description = "Primary email of the user";
- };
- homePath = mkOption {
- type = types.path;
- description = "Home directory path of the user";
- default = builtins.toPath "/home/${config.user}";
- };
- dotfilesPath = mkOption {
- type = types.path;
- description = "Dotfiles path inside the users home dir";
- default = builtins.toPath "${config.homePath}/.config/nix";
- };
-
- #
- # Monitors of the system
- #
- monitors = mkOption {
- default = [];
- description = "Monitors of the system.";
- type = with types; listOf (submodule monitorOpts);
- };
-
- #
- # Theme of the system
- #
- theme = {
- colors = mkOption {
- type = with types; (submodule colorOpts);
- description = "color scheme";
- };
-
- opacity = mkOption {
- type = types.float;
- description = "Window opacity.";
- };
-
- # theme fonts
- font = {
- size = mkOption {
- type = types.int;
- description = "Theme primary font size.";
- };
-
- regular = mkOption {
- type = types.str;
- description = "Regular system font.";
- };
-
- monospace = mkOption {
- type = types.str;
- description = "Monospace system font.";
- };
-
- header = mkOption {
- type = types.str;
- description = "Header system font.";
- };
-
- icon = mkOption {
- type = types.str;
- description = "Icon system font.";
- };
-
- };
-
- borderWidth = mkOption {
- type = types.int;
- description = "Theme border width";
- };
-
- outerRadius = mkOption {
- type = types.int;
- description = "Theme outer border radius.";
- };
-
- innerRadius = mkOption {
- type = types.int;
- description = "Theme inner border radius.";
- };
-
- outerGap = mkOption {
- type = types.int;
- description = "Theme outer gap/spacing.";
- };
-
- innerGap = mkOption {
- type = types.int;
- description = "Theme inner gap/spacing.";
- };
-
- wallpaper = mkOption {
- type = types.str;
- description = "Path to wallpaper image";
- };
-
- avatar = mkOption {
- type = types.str;
- description = "Path to avatar image";
- };
- };
-
- #
- # Default programs
- #
- default = {
- browser = mkOption {
- type = types.str;
- description = "Default browser launch command.";
- };
- appLauncher = mkOption {
- type = types.str;
- description = "Default application launcher launch command.";
- };
- lockScreen = mkOption {
- type = types.str;
- description = "Default lock screen launch command.";
- };
- terminal = mkOption {
- type = types.str;
- description = "Default terminal launch command.";
- };
- };
-
- #
- # Programs to auto start on launch
- #
- autoRun = mkOption {
- type = with types; listOf str;
- description = "List of programs to auto run in a graphical environment.";
- default = [];
- };
-
- };
-
- config = {
- # use system packages in home manager
- home-manager.useGlobalPkgs = true;
-
- # install user packages to /etc/profiles and not home directory
- home-manager.useUserPackages = true;
-
- # allow unfree packages
- nixpkgs.config.allowUnfree = true;
-
- # set state version
- home-manager.users.${config.user}.home.stateVersion = stateVersion;
- home-manager.users.root.home.stateVersion = stateVersion;
- system.stateVersion = stateVersion;
- };
-
-}
diff --git a/nix/home/default.nix b/nix/home/default.nix
deleted file mode 100644
index 5dedd5d..0000000
--- a/nix/home/default.nix
+++ /dev/null
@@ -1,183 +0,0 @@
-{ config, pkgs, inputs, ... }:
-
-{
- imports = [
- inputs.home-manager.nixosModules.home-manager
- ];
-
- home-manager.users.${config.user} = {
-
- home.username = config.user;
- home.homeDirectory = config.homePath;
-
- news.display = "silent";
- fonts.fontconfig.enable = true;
-
- home.packages = with pkgs; [
- # nix
- home-manager
- # c / c++
- clang-tools
- gcc
- gdb
- gnumake
- nasm
- pkg-config
- # rust
- rustc
- rustfmt
- rust-analyzer
- cargo
- clippy
- # zig
- zig
- zls
- # java/kotlin
- gradle
- jdk
- jdt-language-server
- kotlin
- kotlin-language-server
- maven
- # android
- android-tools
- scrcpy
- # gtk
- adwaita-icon-theme
- orchis-theme
- # media
- ffmpeg
- libaacs
- libavif
- libbluray
- libjxl
- # wayland
- cage
- grimblast
- wl-clipboard
- wl-clip-persist
- wl-mirror
- # gaming
- prismlauncher
- winetricks
- wineWowPackages.staging
- # social
- discord
- element-desktop
- gajim
- # vrchat
- unityhub
- vrc-get
- # rendering
- freealut
- glfw
- glm
- openal
- shaderc
- stb
- vulkan-headers
- vulkan-loader
- vulkan-tools
- vulkan-validation-layers
- # programs
- blueman
- brightnessctl
- easyeffects
- fd
- filezilla
- foliate
- gimp
- grub2
- imagemagick
- imv
- jami
- jq
- libisoburn
- libnotify
- libreoffice-fresh
- mpv
- pavucontrol
- pfetch-rs
- python3
- qbittorrent
- qemu
- rsync
- sassc
- sl
- starship
- thunderbird-latest
- vlc
- yt-dlp
- zathura
- ];
-
- xdg.configFile = {
- "aacs/keydb.cfg" = {
- source = ../../files/keys/bluray.cfg;
- };
- };
-
- xdg.dataFile = {
- fonts = {
- source = ../../files/fonts;
- recursive = true;
- };
- };
-
- xdg.mimeApps = {
- enable = true;
- defaultApplications = {
- # web
- "text/html" = "firefox.desktop";
- "x-scheme-handler/http" = "firefox.desktop";
- "x-scheme-handler/https" = "firefox.desktop";
- "x-scheme-handler/about" = "firefox.desktop";
- "x-scheme-handler/unknown" = "firefox.desktop";
-
- # images
- "image/png" = "imv.desktop";
- "image/jpeg" = "imv.desktop";
- "image/webp" = "imv.desktop";
- "image/tga" = "imv.desktop";
- "image/bmp" = "imv.desktop";
- "image/gif" = "imv.desktop";
-
- # audio video
- "video/mp4" = "mpv.desktop";
- "video/x-msvideo" = "mpv.desktop";
- "video/mkv" = "mpv.desktop";
- "video/webm" = "mpv.desktop";
- "audio/mp3" = "mpv.desktop";
- "audio/wav" = "mpv.desktop";
-
- # other
- "application/pdf" = "org.pwmt.zathura.desktop";
- "x-scheme-handler/mspa" = "unofficial-homestuck-collection.desktop";
- "x-scheme-handler/discord" = "discord.desktop";
- };
- };
-
- xdg.userDirs = {
- enable = true;
- createDirectories = false;
-
- desktop = "${config.homePath}/desktop";
- documents = "${config.homePath}/documents";
- download = "${config.homePath}/downloads";
- music = "${config.homePath}/music";
- pictures = "${config.homePath}/pictures";
- publicShare = "${config.homePath}";
- templates = "${config.homePath}";
- videos = "${config.homePath}/videos";
- };
-
- gtk = {
- enable = true;
- gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
- };
-
- programs.home-manager.enable = true;
-
- };
-}
-
diff --git a/nix/programs/default.nix b/nix/programs/default.nix
deleted file mode 100644
index 022705b..0000000
--- a/nix/programs/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ ... }:
-
-{
- imports = [
- ./firefox
- ./git
- ./gpg
- ./hypr
- ./kitty
- ./mako
- ./neovim
- ./sops
- ./ssh
- ./starship
- ./steam
- ./talc
- ./unofficial-homestuck-collection
- ./waybar
- ./wireguard
- ./wofi
- ./zsh
- ];
-}
diff --git a/nix/programs/firefox/default.nix b/nix/programs/firefox/default.nix
deleted file mode 100644
index 662f42a..0000000
--- a/nix/programs/firefox/default.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-let
-
- extraPrefs = import ./extraPrefs.nix;
-
- userChrome = import ./userChrome.nix;
-
- my-firefox = (pkgs.firefox.override {
- extraPrefs = extraPrefs;
- });
-
-in
-
-{
- default.browser = lib.mkDefault "firefox";
-
- home-manager.users.${config.user} = {
- programs.firefox = {
-
- enable = true;
- package = my-firefox;
-
- # import configuration
- policies = import ./policy.nix;
-
- # create profile for me :3
- profiles.${config.user} = {
- search = {
- force = true;
- default = "ddg";
- };
-
- userChrome = userChrome;
- };
-
- };
- };
-}
diff --git a/nix/programs/firefox/extraPrefs.nix b/nix/programs/firefox/extraPrefs.nix
deleted file mode 100644
index b9e9ed2..0000000
--- a/nix/programs/firefox/extraPrefs.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-# extra preferences that cannot be
-# set normally but have to instead
-# set in mosilla.cfg
-
-''//
-
-// Automatically click cookiebanners although uBlock Origin might block them
-lockPref("cookiebanners.bannerClicking.enabled", true);
-lockPref("cookiebanners.service.mode", 2);
-lockPref("cookiebanners.service.mode.privateBrowsing", 2);
-
-// DNT although PrivacyBadger from policy handles this
-lockPref("privacy.donottrackheader.enabled", true);
-lockPref("privacy.donottrackheader.value", 1);
-
-// New sidebar
-lockPref("sidebar.revamp", true);
-lockPref("sidebar.verticalTabs", true);
-lockPref("sidebar.visibility", "always-show");
-lockPref("sidebar.main.tools", "history,bookmarks");
-
-//''
diff --git a/nix/programs/firefox/policy.nix b/nix/programs/firefox/policy.nix
deleted file mode 100644
index e0a2caa..0000000
--- a/nix/programs/firefox/policy.nix
+++ /dev/null
@@ -1,129 +0,0 @@
-{
-
- # policies to be set in firefox
- # see: https://mozilla.github.io/policy-templates/
-
- ExtensionSettings = import ./policyExtensions.nix;
- Preferences = import ./policyPrefs.nix;
-
- EnableTrackingProtection = {
- Value = true;
- Locked = true;
- Cryptomining = true;
- Fingerprinting = true;
- EmailTracking = true;
- };
-
- # Certificates
- Certificates = {
- ImportEnterpriseRoots = true;
- };
-
- # Cookies
- Cookies = {
- Behavior = "reject-foreign";
- BehaviorPrivateBrowsing = "reject-foreign";
- Locked = true;
- };
-
- # DNS
- DNSOverHTTPS = {
- Enabled = false;
- Locked = true;
- };
-
- # Disable Bad
- DisableAppUpdate = true;
- DisableAccounts = true;
- DisableFirefoxAccounts = true;
- DisableFirefoxScreenshots = true;
- DisableFirefoxStudies = true;
- DisablePocket = true;
- DisableTelemetry = true;
- AutofillAddressEnabled = false;
- AutofillCreditCardEnabled = false;
-
- # Disable Certain Messages
- UserMessaging = {
- WhatsNew = false;
- ExtensionRecommendations = false;
- FeatureRecommendations = false;
- UrlbarInterventions = false;
- SkipOnboarding = true;
- MoreFromMozilla = false;
- Labs = false;
- Locked = true;
- };
-
- # Disable Password Manager
- DisableMasterPasswordCreation = true;
- PasswordManagerEnabled = false;
- PrimaryPassword = false;
- OfferToSaveLogins = false;
-
- # Remove Special Pages
- OverrideFirstRunPage = "";
- OverridePostUpdatePage = "";
-
- # Start Page
- Homepage = {
- StartPage = "previous-session";
- Locked = true;
- };
-
- # Home Page
- FirefoxHome = {
- Search = true;
- TopSites = false;
- SponsoredTopSites = false;
- Highlights = false;
- Pocket = false;
- SponsoredPocket = false;
- Snippets = false;
- Locked = true;
- };
-
- # Search Suggestions
- SearchSuggestEnabled = true;
- FirefoxSuggest = {
- WebSuggestions = false;
- SponsoredSuggestions = false;
- ImproveSuggest = false;
- Locked = true;
- };
-
- # Save All on Shutdown
- SanitizeOnShutdown = false;
-
- # Popups
- PopupBlocking = {
- Default = true;
- Locked = true;
- };
-
- # Allow Bypasses
- DisableSecurityBypass = {
- InvalidCertificate = false;
- SafeBrowsing = false;
- };
-
- # PictureInPicure
- PictureInPicture = {
- Enabled = true;
- Locked = true;
- };
-
- # Topbar
- SearchBar = "unified";
- DisplayMenuBar = "default-off";
- DisplayBookmarksToolbar = "newtab";
- NoDefaultBookmarks = true;
-
- # Miscellaneous
- HttpsOnlyMode = "force_enabled";
- HardwareAcceleration = true;
- DontCheckDefaultBrowser = true;
- PromptForDownloadLocation = false;
- PrivateBrowsingModeAvailability = 0;
-
-}
diff --git a/nix/programs/firefox/policyExtensions.nix b/nix/programs/firefox/policyExtensions.nix
deleted file mode 100644
index b2e5043..0000000
--- a/nix/programs/firefox/policyExtensions.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-
- # extensions to be auto downloaded into
- # firefox
-
- # dont allow extensions to be installed though
- # firefox, they must be described here!
- "*".installation_mode = "blocked";
-
- # uBlock Origin
- "uBlock0@raymondhill.net" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # Bitwarden
- "{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # User Agent Switcher
- "user-agent-switcher@ninetailed.ninja" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/uaswitcher/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # SponsorBlock
- "sponsorBlocker@ajay.app" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # Privacy Badger
- "jid1-MnnxcxisBPnSXQ@jetpack" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # FoxyProxy
- "foxyproxy@eric.h.jung" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/foxyproxy-standard/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # Redirector
- "redirector@einaregilsson.com" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/redirector/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # linkding
- "{61a05c39-ad45-4086-946f-32adb0a40a9d}" = {
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/linkding-extension/latest.xpi";
- installation_mode = "force_installed";
- };
-
- # Bypass Paywalls Clean
- "magnolia@12.34" = {
- install_url = "https://f.freya.cat/xpi/bypass_paywalls_clean-4.1.4.0.xpi";
- installation_mode = "force_installed";
- };
-
-}
diff --git a/nix/programs/firefox/policyPrefs.nix b/nix/programs/firefox/policyPrefs.nix
deleted file mode 100644
index a8ac797..0000000
--- a/nix/programs/firefox/policyPrefs.nix
+++ /dev/null
@@ -1,131 +0,0 @@
-let
- # quick variables to specify
- # locked true/false
- lock-false = {
- Value = false;
- Status = "locked";
- };
- lock-true = {
- Value = true;
- Status = "locked";
- };
-in
-{
-
- # about:config Preferences
- # ... set policies that cannot be set using policies.json directly
-
- # allow userChrom.css
- "toolkit.legacyUserProfileCustomizations.stylesheets" = lock-true;
-
- # dark theme
- "extensions.activeThemeID" = {
- Value = "firefox-compact-dark@mozilla.org";
- Status = "locked";
- };
- "layout.css.prefers-color-scheme.content-override" = {
- Value = 0;
- Status = "locked";
- };
-
- # homepage
- "browser.startup.homepage" = {
- Value = "about:home";
- Status = "locked";
- };
- "browser.newtabpage.enabed" = lock-true;
- "browser.newtabpage.url" = {
- Value = "about:home";
- Status = "locked";
- };
-
- # autofill
- "browser.autofill.enabled" = lock-false;
- "browser.formfill.enable" = lock-false;
-
- # search enable
- "browser.urlbar.suggest.recentsearches" = lock-true;
- "browser.urlbar.suggest.bookmark" = lock-true;
- "browser.urlbar.suggest.clipboard" = lock-true;
- "browser.urlbar.suggest.history" = lock-true;
-
- # search disable
- "browser.urlbar.suggest.addons" = lock-false;
- "browser.urlbar.suggest.calculator" = lock-false;
- "browser.urlbar.suggest.engines" = lock-false;
- "browser.urlbar.suggest.fakespot" = lock-false;
- "browser.urlbar.suggest.mdn" = lock-false;
- "browser.urlbar.suggest.openpage" = lock-false;
- "browser.urlbar.suggest.pocket" = lock-false;
- "browser.urlbar.suggest.remotetab" = lock-false;
- "browser.urlbar.suggest.topsites" = lock-false;
- "browser.urlbar.suggest.trending" = lock-false;
- "browser.urlbar.suggest.weather" = lock-false;
- "browser.urlbar.suggest.yelp" = lock-false;
-
- # privacy
- "privacy.globalprivacycontrol.enabled" = lock-true;
-
- # security
- "security.OCSP.enabled" = {
- Value = 0;
- Status = "locked";
- };
- "browser.contentblocking.category" = {
- Value = "strict";
- Status = "locked";
- };
- "xpinstall.whitelist.required" = lock-true;
- "signon.management.page.breach-alerts.enabled" = lock-false;
-
- # graphics
- "dom.webgpu.enabled" = lock-true;
- "media.eme.enabled" = lock-true;
-
- # user messaging
- # ... disable shit that is annoying
- "browser.newtabpage.activity-stream.feeds.section.topstories" = lock-false;
- "browser.newtabpage.activity-stream.feeds.snippets" = lock-false;
- "browser.newtabpage.activity-stream.section.highlights.includePocket" = lock-false;
- "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = lock-false;
- "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = lock-false;
- "browser.newtabpage.activity-stream.section.highlights.includeVisited" = lock-false;
- "browser.newtabpage.activity-stream.showSponsored" = lock-false;
- "browser.newtabpage.activity-stream.system.showSponsored" = lock-false;
- "browser.newtabpage.activity-stream.showSponsoredTopSites" = lock-false;
- "browser.newtabpage.activity-stream.showWeather" = lock-false;
- "browser.newtabpage.activity-stream.newtabWallpapers.enabled" = lock-false;
- "browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled" = lock-false;
- "browser.newtabpage.activity-stream.default.sites" = {
- Value = "";
- Status = "locked";
- };
-
- # safebrowsing
- "browser.safebrowsing.malware.enabled" = lock-true;
- "browser.safebrowsing.phishing.enabled" = lock-true;
- "browser.safebrowsing.downloads.enabled" = lock-true;
- "browser.safebrowsing.downloads.remote.block_uncommon" = lock-false;
- "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = lock-false;
-
- # sidebar
- "browser.tabs.inTitlebar" = {
- Value = 0;
- Status = "locked";
- };
- "browser.tabs.warnOnClose" = lock-true;
- "browser.tabs.firefox-view" = lock-false;
- "browser.tabs.closeTabByDblclick" = lock-true;
- "ui.key.menuAccessKeyFocuses" = lock-false;
-
- # general settings
- "general.autoScroll" = lock-false;
- "general.smoothScroll" = lock-true;
- "widget.gtk.overlay-scrollbars.enabled" = lock-false;
- "accessibility.browsewithcaret" = lock-false;
- "accessibility.typeaheadfind" = lock-false;
- "media.hardwaremediakeys.enabled" = lock-true;
- "browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false;
- "browser.aboutConfig.showWarning" = lock-false;
-
-}
diff --git a/nix/programs/firefox/userChrome.nix b/nix/programs/firefox/userChrome.nix
deleted file mode 100644
index 2deefb5..0000000
--- a/nix/programs/firefox/userChrome.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-''
-/* sidebar hack to flip contents the way i want them (arrows on the left) */
-#nav-bar-customization-target {
- flex-direction: row-reverse;
-}
-
-/* remove broken padding from sidebar hack */
-#unified-extensions-button {
- padding-left: 0 !important;
-}
-
-/* remove padding beside search bar */
-toolbarspring {
- display: none !important;
-}
-
-/* remove overflow menu and everything in it */
-#nav-bar-overflow-button,
-#firefox-view-button,
-#alltabs-button {
- visibility: collapse;
-}
-''
diff --git a/nix/programs/git/default.nix b/nix/programs/git/default.nix
deleted file mode 100644
index d919b90..0000000
--- a/nix/programs/git/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ config, ... }:
-
-{
- home-manager.users.${config.user} = {
- programs.git = {
- enable = true;
- userName = config.fullName;
- userEmail = config.email;
-
- signing = {
- format = "openpgp";
- key = "D9AF0A4209B7C2DE11A884BFACBC553660D9993D";
- signByDefault = true;
- };
-
- extraConfig = {
- init.defaultBranch = "main";
- };
- };
- };
-}
diff --git a/nix/programs/gpg/default.nix b/nix/programs/gpg/default.nix
deleted file mode 100644
index ca1991a..0000000
--- a/nix/programs/gpg/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-let
-
- keysDir = ../../../files/keys;
- keys = lib.attrsets.mapAttrsToList (name: type: "${keysDir}/${name}") (builtins.readDir keysDir);
- gpgKeys = builtins.filter (path: lib.strings.hasSuffix "asc" path) keys;
-
-in
-{
- home-manager.users.${config.user} = {
-
- # install keys into gpg keyring
- programs.gpg = {
- enable = true;
- publicKeys = map (path: { source = path; trust = 5; }) gpgKeys;
- };
-
- # global gpg agent
- services.gpg-agent = {
- enable = true;
- enableExtraSocket = true;
- enableSshSupport = true;
- pinentry.package = pkgs.pinentry-curses;
- };
-
- };
-
- # yubikey support
- services = {
- pcscd.enable = true;
- udev.packages = with pkgs; [
- yubikey-personalization
- ];
- };
-}
diff --git a/nix/programs/hypr/default.nix b/nix/programs/hypr/default.nix
deleted file mode 100644
index 08b2d93..0000000
--- a/nix/programs/hypr/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ ... }:
-
-{
- imports = [
- ./hypridle.nix
- ./hyprland.nix
- ./hyprlock.nix
- ./hyprpaper.nix
- ];
-}
diff --git a/nix/programs/hypr/hypridle.nix b/nix/programs/hypr/hypridle.nix
deleted file mode 100644
index d100291..0000000
--- a/nix/programs/hypr/hypridle.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ config, lib, ... }:
-
-{
- home-manager.users.${config.user} = {
- services.hypridle = {
-
- enable = true;
-
- settings = {
- general = {
- lock_cmd = "pidof hyprlock || hyprlock";
- before_sleep_cmd = "loginctl lock-session";
- after_sleep_cmd = "hyprctl dispatch dpms on";
- ignore_dbus_inhibit = false;
- };
-
- listener = [
- # dim screen
- {
- timeout = 150;
- on-timeout = "brightnessctl -s set 10";
- on-resume = "brightnessctl -r";
- }
- # lock
- {
- timeout = 300;
- on-timeout = "loginctl lock-session";
- }
- # turn off screen
- {
- timeout = 350;
- on-timeout = "hyprctl dispatch dpms off";
- on-resume = "hyprctl dispatch dpms on";
- }
- ];
- };
-
- };
- };
-}
-
diff --git a/nix/programs/hypr/hyprland.nix b/nix/programs/hypr/hyprland.nix
deleted file mode 100644
index 9631674..0000000
--- a/nix/programs/hypr/hyprland.nix
+++ /dev/null
@@ -1,332 +0,0 @@
-{ config, pkgs, lib, inputs, ... }:
-
-let
-
- system = pkgs.stdenv.hostPlatform.system;
- hyprland = inputs.hyprland.packages.${system};
- hyprland-plugins = inputs.hyprland-plugins.packages.${system};
- hy3 = inputs.hy3.packages.${system};
-
- fg = "rgb(${config.theme.colors.fg})";
- bg = "rgb(${config.theme.colors.bg})";
- primary = "rgb(${config.theme.colors.primary})";
- inactive = "rgb(${config.theme.colors.surface.bg})";
-
- debug = false;
-
-in
-
-{
- environment = {
- variables = {
- HYPRLAND_TRACE = if debug then "1" else "0";
- AQ_TRACE = if debug then "1" else "0";
-
- XDG_CURRENT_DESKTOP = "Hyprland";
- XDG_SESSION_TYPE = "wayland";
- XDG_SESSION_DESKTOP = "Hyprland";
- LIBSEAT_BACKEND = "logind";
- };
- sessionVariables = {
- XCURSOR_THEME = "Adwaita";
- XCURSOR_SIZE = "24";
-
- GTK_THEME = "Orchis-Teal-Dark";
-
- MOZ_ENABLE_WAYLAND = "1";
- MOZ_USE_XINPUT = "1";
- _JAVA_AWT_WM_NONREPARENTING = "1";
- };
- };
-
- xdg.portal = {
- enable = true;
- xdgOpenUsePortal = true;
- config = {
- common.default = ["gtk"];
- hyprland.default = ["gtk" "hyprland"];
- };
- extraPortals = [
- pkgs.xdg-desktop-portal-gtk
- pkgs.xdg-desktop-portal-wlr
- hyprland.xdg-desktop-portal-hyprland
- ];
- };
-
- programs.xwayland.enable = true;
-
- home-manager.users.${config.user} = {
- wayland.windowManager.hyprland = {
-
- enable = true;
- package = hyprland.hyprland;
-
- xwayland.enable = true;
- systemd.enable = true;
-
- # Plugins
- plugins = [
- hyprland-plugins.hyprexpo
- hy3.hy3
- ];
-
- # Config
- settings = {
-
- # Debug
- debug.disable_logs = ! debug;
- debug.disable_time = ! debug;
- debug.enable_stdout_logs = debug;
-
- # Monitors
- monitor = map (monitor:
- "${monitor.name}, highres, auto, ${toString monitor.scale}"
- ) config.monitors;
-
- # Autostart
- exec-once = config.autoRun;
-
- # General
- general = {
- gaps_in = config.theme.innerGap;
- gaps_out = config.theme.outerGap;
- layout = "hy3";
- resize_on_border = "yes";
- extend_border_grab_area = 20;
- border_size = config.theme.borderWidth;
- "col.active_border" = "${primary}";
- "col.inactive_border" = "${inactive}";
- };
-
- # Gestures
- gestures = {
- workspace_swipe = true;
- workspace_swipe_fingers = 3;
- workspace_swipe_forever = true;
- workspace_swipe_cancel_ratio = 0.15;
- };
-
- # Decoration
- decoration = {
- rounding = config.theme.outerRadius;
- shadow.enabled = false;
- blur = {
- enabled = true;
- size = 4;
- passes = 2;
- noise = 0.008;
- contrast = 0.8916;
- brightness = 0.8;
- };
- };
-
- # Animations
- animations = {
- enabled = true;
-
- bezier = [
- "windowIn, 0.06, 0.71, 0.25, 1"
- "windowResize, 0.04, 0.67, 0.38, 1"
- ];
-
- animation = [
- "windowsIn, 1, 3, windowIn, slide #popin 20%"
- "windowsOut, 1, 3, windowIn, slide #popin 70%"
- "windowsMove, 1, 2.5, windowResize"
- "border, 1, 10, default"
- "borderangle, 1, 8, default"
- "fade, 1, 3, default"
- "workspaces, 1, 6, default"
- "layers, 1, 5, windowIn, slide"
- ];
- };
-
- # Input
- input = {
- kb_layout = "us";
- kb_variant = "";
- kb_model = "";
- kb_options = "gtp:alt_shit_toggle, compose:ralt";
- kb_rules = "";
- follow_mouse = 1;
- touchpad = {
- natural_scroll = "yes";
- };
- sensitivity = 0;
- };
-
- # Keybinds
- "$mod" = "SUPER";
- bind = [
- # Launch programs
-
- "$mod, W, exec, ${config.default.browser}"
- "$mod, D, exec, ${config.default.appLauncher}"
- "$mod, L, exec, ${config.default.lockScreen}"
- "$mod, Return, exec, ${config.default.terminal}"
- ", Print, exec, grimblast copy area"
-
- # Misc
-
- "$mod SHIFT, L, exit"
- "$mod, tab, hyprexpo:expo, toggle"
-
- # Window operations
-
- "$mod SHIFT, Q, killactive"
- "$mod SHIFT, SPACE, togglefloating"
- "$mod, F, fullscreen"
- "$mod, J, togglesplit"
-
- # Move focus with mod + arrow keys
-
- "$mod, left, movefocus, l"
- "$mod, right, movefocus, r"
- "$mod, up, movefocus, u"
- "$mod, down, movefocus, d"
-
- # Move window across workspace with mod + arrow keys
-
- "$mod SHIFT, left, hy3:movewindow, l"
- "$mod SHIFT, right, hy3:movewindow, r"
- "$mod SHIFT, up, hy3:movewindow, u"
- "$mod SHIFT, down, hy3:movewindow, d"
-
- # Switch workspaces with mod + [0-9]
-
- "$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"
-
- # Move active window to a workspace with mod + SHIFT + [0-9]
-
- "$mod SHIFT, 1, movetoworkspacesilent, 1"
- "$mod SHIFT, 2, movetoworkspacesilent, 2"
- "$mod SHIFT, 3, movetoworkspacesilent, 3"
- "$mod SHIFT, 4, movetoworkspacesilent, 4"
- "$mod SHIFT, 5, movetoworkspacesilent, 5"
- "$mod SHIFT, 6, movetoworkspacesilent, 6"
- "$mod SHIFT, 7, movetoworkspacesilent, 7"
- "$mod SHIFT, 8, movetoworkspacesilent, 8"
- "$mod SHIFT, 9, movetoworkspacesilent, 9"
- "$mod SHIFT, 0, movetoworkspacesilent, 10"
-
- # Move to tab
-
- "LALT, 1, hy3:focustab, index, 01"
- "LALT, 2, hy3:focustab, index, 02"
- "LALT, 3, hy3:focustab, index, 03"
- "LALT, 4, hy3:focustab, index, 04"
- "LALT, 5, hy3:focustab, index, 05"
- "LALT, 6, hy3:focustab, index, 06"
- "LALT, 7, hy3:focustab, index, 07"
- "LALT, 8, hy3:focustab, index, 08"
- "LALT, 9, hy3:focustab, index, 09"
- "LALT, 0, hy3:focustab, index, 10"
-
- "$mod SHIFT, B, hy3:makegroup, h"
- "$mod SHIFT, V, hy3:makegroup, v"
- "$mod SHIFT, C, hy3:changegroup, toggletab"
-
- # Scroll through existing workspaces with mod + scroll
-
- "$mod, mouse_down, workspace, e+1"
- "$mod, mouse_up, workspace, e-1"
- ];
-
- bindn = [
- # Focus windows with scroll wheel or middle click
-
- ", mouse:272, hy3:focustab, mouse"
- ", mouse_down, hy3:focustab, l, require_hovered"
- ", mouse_up, hy3:focustab, r, require_hovered"
- ];
-
- bindm = [
- # Move/resize windows with mod + LMB/RMB and dragging
-
- "$mod, mouse:272, movewindow"
- "$mod, mouse:273, resizewindow"
- ];
-
- binde = [
- # Audio
-
- # raise volume
- ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+"
- # lower volume
- ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
- # mute speaker
- ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
- # mute mic
- ", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
-
- # Media
-
- # play
- ", XF86AudioPlay, exec, playerctl play-pause"
- # next
- ", XF86AudioNext, exec, playerctl next"
- # prev
- ", XF86AudioPrev, exec, playerctl previous"
-
- # Backlight
-
- ", XF86MonBrightnessDown, exec, brightnessctl set 5%-"
- ", XF86MonBrightnessUp, exec, brightnessctl set 5%+"
- ];
-
- # Plugin configuration
- plugin = {
- # hy3
- hy3 = {
- tabs = {
- height = 24;
- text_height = 9;
- text_padding = 10;
- padding = 2;
- render_text = true;
- text_font = "monospace";
- radius = config.theme.outerRadius;
- border_width = config.theme.borderWidth;
-
- "col.active" = "${bg}";
- "col.active.border" = "${inactive}";
- "col.active.text" = "${fg}";
- "col.inactive" = "${bg}";
- "col.inactive.border" = "${inactive}";
- "col.inactive.text" = "${fg}";
- };
-
- autotile = {
- enable = true;
- };
- };
- };
-
- # XWayland
- xwayland = {
- force_zero_scaling = "true";
- use_nearest_neighbor = "false";
- };
-
- # Misc
- misc = {
- disable_hyprland_logo = true;
- disable_splash_rendering = true;
- key_press_enables_dpms = true;
- mouse_move_enables_dpms = true;
- vrr = 1;
- };
- }; # end settings
-
- }; # end hyprland
- }; # end home-manager
-
-}
diff --git a/nix/programs/hypr/hyprlock.nix b/nix/programs/hypr/hyprlock.nix
deleted file mode 100644
index 8c8f63d..0000000
--- a/nix/programs/hypr/hyprlock.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ config, lib, ... }:
-
-{
- default.lockScreen = lib.mkDefault "hyprlock";
-
- home-manager.users.${config.user} = {
- programs.hyprlock = {
-
- enable = true;
-
- settings = {
-
- background = {
- monitor = "";
- path = config.theme.wallpaper;
- blur_passes = 3;
- contrast = 0.8916;
- brightness = 0.8172;
- vibrancy = 0.1696;
- vibrancy_darkness = 0.0;
- };
-
- general = {
- no_fade_in = false;
- grace = 0;
- disable_loading_bar = true;
- };
-
- input-field = {
- monitor = "";
- size = "250, 60";
- outline_thickness = 2;
- dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
- dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
- dots_center = true;
- outer_color = "rgba(0, 0, 0, 0)";
- inner_color = "rgba(0, 0, 0, 0.5)";
- font_color = "rgb(${config.theme.colors.fg})";
- font_family = config.theme.font.regular;
- fade_on_empty = false;
- placeholder_text = "<i><span foreground=\"##${config.theme.colors.fg}\">Input Password...</span></i>";
- hide_input = false;
- position = "0, -120";
- halign = "center";
- valign = "center";
- };
-
- label = [
- # Clock
- {
- monitor = "";
- text = "cmd[update:1000] echo \"$(date +\"%-H:%M:%S\")\"";
- font_size = 80;
- font_color = "rgb(${config.theme.colors.fg})";
- font_family = config.theme.font.header;
- position = "0, 500";
- halign = "center";
- valign = "center";
- }
-
- # Name
- {
- monitor = "";
- text = config.fullName;
- font_color = "rgb(${config.theme.colors.fg})";
- font_family = config.theme.font.header;
- font_size = 25;
- position = "0, 50";
- halign = "center";
- valign = "center";
- }
- ];
-
- # Profile image
- image = {
- monitor = "";
- path = config.theme.avatar;
- size = 300;
- rounding = -1;
- border_size = 0;
- position = "0, 250";
- halign = "center";
- valign = "center";
- };
- };
-
- };
- };
-}
diff --git a/nix/programs/hypr/hyprpaper.nix b/nix/programs/hypr/hyprpaper.nix
deleted file mode 100644
index ddcb6cd..0000000
--- a/nix/programs/hypr/hyprpaper.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ config, lib, ... }:
-
-{
- home-manager.users.${config.user} = {
- services.hyprpaper = {
-
- enable = true;
-
- settings = {
- preload = config.theme.wallpaper;
- wallpaper = ",${config.theme.wallpaper}";
- splash = false;
- };
-
- };
- };
-}
-
diff --git a/nix/programs/kitty/default.nix b/nix/programs/kitty/default.nix
deleted file mode 100644
index 994da43..0000000
--- a/nix/programs/kitty/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{ config, lib, ... }:
-
-{
- default.terminal = lib.mkDefault "kitty";
-
- home-manager.users.${config.user} = {
- programs.kitty = {
-
- enable = true;
- environment = { };
- extraConfig = "";
-
- settings = {
- # Font
- font_family = config.theme.font.monospace;
- font_size = 11;
- bold_font = "auto";
- italic_font = "auto";
- bold_italic_font = "auto";
-
- # Scrollback
- scrollback_lines = 10000;
- scrollback_pager_history_size = 300; # MB
-
- # Urls
- detect_urls = true;
- show_hyperlink_targets = false;
-
- # Window
- window_padding_width = config.theme.outerGap;
- window_border_width = 0;
- draw_minimal_borders = true;
- background_opacity = config.theme.opacity;
-
- # Disable audio
- enable_audio_bell = false;
-
- # Disable close prompt
- confirm_os_window_close = 0;
-
- # colors
- background = "#${config.theme.colors.bg}";
- foreground = "#${config.theme.colors.fg}";
- selection_background = "#${config.theme.colors.surface.bg}";
- selection_foreground = "#${config.theme.colors.surface.fg}";
- url_color = "#${config.theme.colors.bright.yellow}";
- cursor = "#${config.theme.colors.fg}";
- active_border_color = "#${config.theme.colors.primary}";
- inactive_border_color = "#${config.theme.colors.bg}";
- active_tab_background = "#${config.theme.colors.bg}";
- active_tab_foreground = "#${config.theme.colors.fg}";
- inactive_tab_background = "#${config.theme.colors.bg}";
- inactive_tab_foreground = "#${config.theme.colors.fg}";
- tab_bar_background = "#${config.theme.colors.bg}";
-
- # normal
- color0 = "#${config.theme.colors.normal.black}";
- color1 = "#${config.theme.colors.normal.red}";
- color2 = "#${config.theme.colors.normal.green}";
- color3 = "#${config.theme.colors.normal.yellow}";
- color4 = "#${config.theme.colors.normal.blue}";
- color5 = "#${config.theme.colors.normal.magenta}";
- color6 = "#${config.theme.colors.normal.cyan}";
- color7 = "#${config.theme.colors.normal.white}";
-
- # bright
- color8 = "#${config.theme.colors.bright.black}";
- color9 = "#${config.theme.colors.bright.red}";
- color10 = "#${config.theme.colors.bright.green}";
- color11 = "#${config.theme.colors.bright.yellow}";
- color12 = "#${config.theme.colors.bright.blue}";
- color13 = "#${config.theme.colors.bright.magenta}";
- color14 = "#${config.theme.colors.bright.cyan}";
- color15 = "#${config.theme.colors.bright.white}";
- };
- };
- };
-}
diff --git a/nix/programs/mako/default.nix b/nix/programs/mako/default.nix
deleted file mode 100644
index 2bd2a56..0000000
--- a/nix/programs/mako/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ config, lib, ... }:
-
-{
- home-manager.users.${config.user} = {
- services.mako = {
-
- enable = true;
-
- settings = {
-
- font = "${config.theme.font.monospace} 11";
-
- margin = toString config.theme.outerGap;
- padding = toString config.theme.innerGap;
-
- background-color = "#${config.theme.colors.bg}";
- progress-color = "#${config.theme.colors.primary}";
- text-color = "#${config.theme.colors.fg}";
-
- border-color = "#${config.theme.colors.fg}";
- border-size = config.theme.borderWidth;
- border-radius = config.theme.outerRadius;
-
- default-timeout = 5000;
- layer = "overlay";
- icons = true;
-
- };
-
- };
- };
-}
diff --git a/nix/programs/neovim/default.nix b/nix/programs/neovim/default.nix
deleted file mode 100644
index a88b9d7..0000000
--- a/nix/programs/neovim/default.nix
+++ /dev/null
@@ -1,541 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-{
- options = {
- neovim = {
-
- tabWidth = mkOption {
- type = types.int;
- description = "Width of tabes in the editor.";
- default = 4;
- };
- expandTab = mkOption {
- type = types.bool;
- description = "If tabs should be expanded to spaces.";
- default = false;
- };
-
- keys = {
- leader = mkOption {
- type = types.str;
- description = "NeoVIM leader key";
- default = " ";
- };
- noh = mkOption {
- type = types.str;
- description = "Keybind to remove active hilighted content.";
- default = "<leader>h";
- };
-
- menus = {
- # file browser
- browser = mkOption {
- type = types.str;
- description = "Keybind to open file browser.";
- default = "<leader>e";
- };
- # active buffers
- buffers = mkOption {
- type = types.str;
- description = "Keybind to show active buffers.";
- default = "<leader>fb";
- };
- # error list
- error = mkOption {
- type = types.str;
- description = "Keybind to show LSP errors.";
- default = "<leader>t";
- };
- # find files
- find = mkOption {
- type = types.str;
- description = "Keybind to search files in working directory.";
- default = "<leader>ff";
- };
- # grep files
- grep = mkOption {
- type = types.str;
- description = "Keybind to grep files in working directory.";
- default = "<leader>fg";
- };
- # help menu
- help = mkOption {
- type = types.str;
- description = "Keybind to search help menus.";
- default = "<leader>fh";
- };
- # undo tree
- undo = mkOption {
- type = types.str;
- description = "Keybind to view undo tree.";
- default = "<leader>u";
- };
- };
-
- # lsp actions
- lsp = {
- hover = mkOption {
- type = types.str;
- description = "Keybind to open LSP hover menu on a value.";
- default = "K";
- };
- action = mkOption {
- type = types.str;
- description = "Keybind to perform an LSP action on a value.";
- default = "<leader>la";
- };
- references = mkOption {
- type = types.str;
- description = "Keybind to view all references of a value.";
- default = "<leader>lr";
- };
- rename = mkOption {
- type = types.str;
- description = "Keybind to rename currrent and all references of a value.";
- default = "<leader>ln";
- };
- };
-
- # completion
- cmp = {
- prev = mkOption {
- type = types.str;
- description = "Keybind to select previous value in completion engine.";
- default = "<C-p>";
- };
- next = mkOption {
- type = types.str;
- description = "Keybind to select next value in completion engine.";
- default = "<C-n>";
- };
- confirm = mkOption {
- type = types.str;
- description = "Keybind to confirm current value in completion engine.";
- default = "<CR>";
- };
- complete = mkOption {
- type = types.str;
- description = "Keybind to auto complete using completion engine.";
- default = "<C-space>";
- };
- };
- };
-
- # active lsp servers
- lsps = mkOption {
- type = with types; listOf str;
- description = "List of lsp servers to load";
- default = ["clangd" "zls" "rust_analyzer" "jdtls" "kotlin_language_server"];
- };
-
- };
- };
-
- config = {
- environment.variables.EDITOR = "nvim";
-
- home-manager.users.${config.user} = {
- programs.neovim = {
-
- enable = true;
- viAlias = true;
- vimAlias = true;
- extraLuaConfig = ''
-
- --[[ VIM ]]--
-
- vim.opt.tabstop = ${toString config.neovim.tabWidth}
- vim.opt.softtabstop = ${toString config.neovim.tabWidth}
- vim.opt.shiftwidth = ${toString config.neovim.tabWidth}
- vim.opt.expandtab = ${boolToString config.neovim.expandTab}
- vim.opt.mouse = "a"
- vim.opt.clipboard = "unnamedplus"
- vim.opt.hlsearch = true
- vim.opt.autoindent = true
- vim.opt.ttyfast = true
- vim.opt.number = true
- vim.opt.relativenumber = true
- vim.opt.rnu = true
- vim.opt.swapfile = false
- vim.opt.fillchars = { eob = " "}
-
-
- --[[ BUF ]]--
-
- -- remove trailing whitespace on save
- vim.api.nvim_create_autocmd({ "BufWritePre" }, {
- pattern = { "*" },
- command = [[%s/\s\+$//e]],
- })
-
- --[[ KEYBINDS ]]--
-
- -- leader
-
- vim.g.mapleader = "${config.neovim.keys.leader}"
- vim.g.maplocalleader = "${config.neovim.keys.leader}"
- vim.keymap.set("", '<leader>', '<Nop>', { noremap = true, silent = true })
-
- -- bind helper function
-
- local function bind(key, action, opts)
- opts = opts or {}
- vim.keymap.set('n', key, action, opts)
- end
-
- -- lsp
-
- bind("${config.neovim.keys.noh}", vim.cmd.noh)
-
- vim.api.nvim_create_autocmd('LspAttach', {
- desc = 'LSP actions',
- callback = function(event)
- local opts = {buffer = event.buf}
- bind("${config.neovim.keys.lsp.hover}", function() vim.lsp.buf.hover() end, opts)
- bind("${config.neovim.keys.lsp.action}", function() vim.lsp.buf.code_action() end, opts)
- bind("${config.neovim.keys.lsp.references}", function() vim.lsp.buf.references() end, opts)
- bind("${config.neovim.keys.lsp.rename}", function() vim.lsp.buf.rename() end, opts)
- end
- })
-
- '';
-
- plugins = with pkgs.vimPlugins; [
- # Dependencies
- vim-devicons
- nvim-web-devicons
- plenary-nvim
- # Colorscheme
- {
- plugin = base16-nvim;
- type = "lua";
- config = ''
- vim.opt.termguicolors = true
- vim.g.base16_transparent_background = 1
-
- local colorscheme = require('base16-colorscheme')
- colorscheme.setup({
- base00 = '#${config.theme.colors.bg}',
- base01 = '#${config.theme.colors.surface.bg}',
- base02 = '#${config.theme.colors.surface.bg}',
- base03 = '#${config.theme.colors.bright.white}',
- base04 = '#${config.theme.colors.bright.black}',
- base05 = '#${config.theme.colors.fg}',
- base06 = '#${config.theme.colors.bright.white}',
- base07 = '#${config.theme.colors.hover.bg}',
- base08 = '#${config.theme.colors.bright.red}',
- base09 = '#${config.theme.colors.bright.yellow}',
- base0A = '#${config.theme.colors.bright.yellow}',
- base0B = '#${config.theme.colors.bright.green}',
- base0C = '#${config.theme.colors.bright.cyan}',
- base0D = '#${config.theme.colors.bright.blue}',
- base0E = '#${config.theme.colors.bright.magenta}',
- base0F = '#${config.theme.colors.normal.yellow}',
- })
-
- -- make transparent background
- local colors = {
- -- Text
- "Normal", "NormalNC", "NormalFloat",
- -- Line Numbers
- "LineNr", "EndOfBuffer", "SignColumn",
- -- Floating
- "FloatBorder",
- -- Mode/Buffer Lines
- "TabLine", "TabLineFill", "StatusLine",
- };
- for _,color in pairs(colors) do
- vim.api.nvim_set_hl(0, color, { bg = "none" });
- end
- -- identifiers should not be colored
- vim.api.nvim_set_hl(0, "Identifier", { fg = "#${config.theme.colors.fg}" })
- vim.api.nvim_set_hl(0, "TSVariable", { fg = "#${config.theme.colors.fg}" })
- -- macro should be colored as a keyword
- vim.api.nvim_set_hl(0, "TSFuncMacro", { fg = "#${config.theme.colors.bright.magenta}" })
- '';
- }
- # Mode line
- {
- plugin = lualine-nvim;
- type = "lua";
- config = ''
- local lualine_theme = require('lualine.themes.base16')
- lualine_theme.normal.c = { fg = "#${config.theme.colors.fg}" }
-
- require('lualine').setup {
- options = {
- theme = lualine_theme,
- icons_enabled = true,
- globalstatus = true,
- },
- };
- '';
- }
- # Buffer line
- {
- plugin = bufferline-nvim;
- type = "lua";
- config = ''
- require('bufferline').setup {}
- '';
- }
- # File browser
- {
- plugin = nvim-tree-lua;
- type = "lua";
- config = ''
- vim.g.loaded_netrw = 1
- vim.g.loaded_netrwPlugin = 1
-
- require('nvim-tree').setup {
- sort = {
- sorter = "case_sensitive",
- },
- view = {
- centralize_selection = true,
- signcolumn = "yes",
- float = {
- enable = true,
- quit_on_focus_loss = true,
- open_win_config = {
- relative = "editor",
- border = "rounded",
- width = 80,
- height = 30,
- row = 1,
- col = 1,
- },
- };
- },
- renderer = {
- group_empty = true,
- },
- actions = {
- use_system_clipboard = true,
- change_dir = {
- enable = true,
- global = false,
- restrict_above_cwd = false,
- },
- expand_all = {
- max_folder_discovery = 300,
- exclude = {},
- },
- file_popup = {
- open_win_config = {
- col = 1,
- row = 1,
- relative = "cursor",
- border = "shadow",
- style = "minimal",
- },
- },
- open_file = {
- quit_on_open = true,
- window_picker = {
- enable = false,
- picker = "default",
- chars = "abcdefghijklmnopqrstuvwxyz1234567890",
- exclude = {
- filetype = { "notify", "lazy", "qf", "diff", "fugitive", "fugitiveblame" },
- buftype = { "nofile", "terminal", "help" },
- },
- }
- },
- remove_file = {
- close_window = true,
- },
- },
- filters = {
- dotfiles = false,
- },
- tab = {
- sync = {
- open = false,
- close = false,
- ignore = {},
- },
- },
- git = {
- enable = false,
- },
- update_cwd = true,
- respect_buf_cwd = true,
- update_focused_file = {
- enable = true,
- update_cwd = true
- },
- };
-
- bind("${config.neovim.keys.menus.browser}", vim.cmd.NvimTreeToggle)
- '';
- }
- # Undo tree
- {
- plugin = undotree;
- type = "lua";
- config = ''
- bind("${config.neovim.keys.menus.undo}", vim.cmd.UndotreeToggle)
- '';
- }
- # Trouble (error menu)
- {
- plugin = trouble-nvim;
- type = "lua";
- config = ''
- bind("${config.neovim.keys.menus.error}", function() require('trouble').toggle() end)
- '';
- }
- # Telescope (buffers/find/grep/help)
- {
- plugin = telescope-nvim;
- type = "lua";
- config = ''
- local telescope = require('telescope.builtin')
- bind("${config.neovim.keys.menus.buffers}", telescope.buffers)
- bind("${config.neovim.keys.menus.find}", telescope.find_files)
- bind("${config.neovim.keys.menus.grep}", telescope.live_grep)
- bind("${config.neovim.keys.menus.help}", telescope.help_tags)
- vim.api.nvim_set_hl(0, 'TelescopeNormal', { bg = "none" })
- vim.api.nvim_set_hl(0, 'TelescopeBorder', { bg = "none" })
- vim.api.nvim_set_hl(0, 'TelescopeResultsTitle', { bg = "none" })
- vim.api.nvim_set_hl(0, 'TelescopePromptTitle', { bg = "none" })
- vim.api.nvim_set_hl(0, 'TelescopePreviewTitle', { bg = "none" })
- vim.api.nvim_set_hl(0, 'TelescopePromptNormal', { bg = "none" })
- vim.api.nvim_set_hl(0, 'TelescopePromptBorder', { bg = "none" })
- '';
- }
- # Snippets
- vim-vsnip
- vim-vsnip-integ
- friendly-snippets
- # Completion
- cmp-buffer
- cmp-nvim-lsp
- cmp-vsnip
- {
- plugin = nvim-cmp;
- type = "lua";
- config = ''
- local cmp = require('cmp');
- local cmp_select = {behavior = cmp.SelectBehavior.select}
- local cmp_mappings = cmp.mapping.preset.insert({
- ["${config.neovim.keys.cmp.prev}"] = cmp.mapping.select_prev_item(cmp_select),
- ["${config.neovim.keys.cmp.next}"] = cmp.mapping.select_next_item(cmp_select),
- ["${config.neovim.keys.cmp.confirm}"] = cmp.mapping.confirm({ select = true }),
- ["${config.neovim.keys.cmp.complete}"] = cmp.mapping.complete(),
- })
-
- cmp_mappings['<Tab>'] = nil
- cmp_mappings['<S-Tab>'] = nil
-
- cmp.setup {
- snippet = {
- expand = function(args)
- vim.fn["vsnip#anonymous"](args.body)
- end,
- },
- sources = cmp.config.sources {
- { name = 'nvim_lsp' },
- { name = 'vsnip' },
- { name = 'buffer' },
- },
- mapping = cmp_mappings,
- }
- '';
- }
- # Sourround delimiters
- {
- plugin = nvim-surround;
- type = "lua";
- config = ''
- require('nvim-surround').setup {}
- '';
- }
- # Comment functions
- nerdcommenter
- # Treesitter
- nvim-treesitter.withAllGrammars
- # Syntax hilighting
- {
- plugin = vim-illuminate;
- type = "lua";
- config = ''
- require('illuminate').configure {
- providers = {
- 'lsp',
- 'treesitter',
- 'regex',
- },
- }
- '';
- }
- # Todo comments
- {
- plugin = todo-comments-nvim;
- type = "lua";
- config = ''
- require('todo-comments').setup()
- '';
- }
- # Lsp server
- {
- plugin = nvim-lspconfig;
- type = "lua";
- config = let
- lspConfigs = map (server: ''
- lspconfig["${server}"].setup({
- capabilities = capabilities
- })
- '') config.neovim.lsps;
- in ''
- local lspconfig = require('lspconfig')
- local capabilities = require'cmp_nvim_lsp'.default_capabilities()
- ${lib.concatStrings lspConfigs}
- '';
- }
- # Notifications
- {
- plugin = fidget-nvim;
- type = "lua";
- config = ''
- require("fidget").setup {
- notification = {
- window = {
- winblend = 0,
- },
- },
- }
- '';
- }
- # Auto indentation
- {
- plugin = indent-o-matic;
- type = "lua";
- config = ''
- require('indent-o-matic').setup {
- max_lines = 2048,
- standard_widths = { 2, 4, 8 },
- skip_multiline = true,
- };
- '';
- }
- # 80 column width
- {
- plugin = virt-column-nvim;
- type = "lua";
- config = ''
- require('virt-column').setup {
- enabled = true,
- virtcolumn = "80"
- }
- '';
- }
- ];
-
- };
- };
- };
-}
diff --git a/nix/programs/sops/default.nix b/nix/programs/sops/default.nix
deleted file mode 100644
index 7fb5841..0000000
--- a/nix/programs/sops/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ config, pkgs, inputs, ... }:
-
-let
-
- isEd25519 = k: k.type == "ed25519";
- getKeyPath = k: k.path;
- keys = builtins.filter isEd25519 config.services.openssh.hostKeys;
-
-in
-{
- imports = [
- inputs.sops-nix.nixosModules.sops
- ];
-
- environment.systemPackages = with pkgs; [
- sops
- ];
-
- sops = {
- defaultSopsFile = ../../../secrets.yaml;
-
- gnupg.home = config.homePath + "/.gnupg";
- gnupg.sshKeyPaths = [];
-
- secrets = {
- freyanetWg = {};
- tinternetWg = {};
- };
- };
-}
diff --git a/nix/programs/ssh/config b/nix/programs/ssh/config
deleted file mode 100644
index 5ae97b6..0000000
--- a/nix/programs/ssh/config
+++ /dev/null
@@ -1,12 +0,0 @@
-Match Host * exec "gpg-connect-agent UPDATESTARTUPTTY /bye"
-
-Host *.in.freya.cat cid.freya.cat alivemc.net
- User root
-
-Host *.cs.rit.edu
- User tam2214
-
-Host *
- HostkeyAlgorithms +ssh-rsa
- PubkeyAcceptedKeyTypes +ssh-rsa
- KexAlgorithms -sntrup761x25519-sha512@openssh.com
diff --git a/nix/programs/ssh/default.nix b/nix/programs/ssh/default.nix
deleted file mode 100644
index e1691b3..0000000
--- a/nix/programs/ssh/default.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ config, lib, ... }:
-
-{
- home-manager.users.${config.user} = {
- programs.ssh = {
- enable = true;
- extraConfig = lib.fileContents ./config;
- };
- };
-}
diff --git a/nix/programs/starship/default.nix b/nix/programs/starship/default.nix
deleted file mode 100644
index 99858d4..0000000
--- a/nix/programs/starship/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ config, lib, ... }:
-
-{
- home-manager.users.${config.user} = {
- programs.starship = {
-
- enable = true;
-
- settings = {
- format = lib.concatStrings [
- "╭─ "
- "$username"
- "$hostname"
- "$git_branch"
- "$directory"
- "$line_break"
- "╰─ "
- ];
-
- username = {
- style_user = "bold cyan";
- style_root = "bold red";
- format = "[$user]($style) ";
- disabled = false;
- show_always = true;
- };
-
- hostname = {
- ssh_only = false;
- format = "on [$hostname](bold blue) ";
- disabled = false;
- };
-
- directory = {
- format = "[$path]($style)[$read_only]($read_only_style) ";
- truncation_length = -1;
- truncate_to_repo = false;
- truncation_symbol = "…/";
- };
-
- git_branch = {
- style = "bold purple";
- format = "at [$symbol$branch(:$remote_branch)]($style) ";
- };
- };
-
- };
- };
-}
diff --git a/nix/programs/steam/default.nix b/nix/programs/steam/default.nix
deleted file mode 100644
index 35610ae..0000000
--- a/nix/programs/steam/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, ... }:
-
-{
- nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
- "steam"
- "steam-original"
- "steam-runtime"
- ];
-
- programs.gamescope = {
- enable = true;
- capSysNice = true;
- };
-
- programs.steam = {
- enable = true;
- remotePlay.openFirewall = true;
- dedicatedServer.openFirewall = true;
- localNetworkGameTransfers.openFirewall = true;
- gamescopeSession.enable = true;
- };
-
- # controllers
- hardware.xone.enable = true;
- hardware.steam-hardware.enable = true;
-}
diff --git a/nix/programs/talc/default.nix b/nix/programs/talc/default.nix
deleted file mode 100644
index 9c59d3f..0000000
--- a/nix/programs/talc/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, inputs, ... }:
-
-let
- system = pkgs.stdenv.hostPlatform.system;
- talc = inputs.talc.packages.${system};
-in {
- home-manager.users.${config.user} = {
- home.packages = [
- talc.talc
- ];
- };
-}
diff --git a/nix/programs/unofficial-homestuck-collection/default.nix b/nix/programs/unofficial-homestuck-collection/default.nix
deleted file mode 100644
index 19b792b..0000000
--- a/nix/programs/unofficial-homestuck-collection/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ config, pkgs, inputs, ... }:
-
-let
- system = pkgs.stdenv.hostPlatform.system;
- unofficial-homestuck-collection = inputs.unofficial-homestuck-collection.packages.${system};
-in {
- home-manager.users.${config.user} = {
- home.packages = [
- unofficial-homestuck-collection.unofficial-homestuck-collection
- ];
- };
-}
diff --git a/nix/programs/waybar/default.nix b/nix/programs/waybar/default.nix
deleted file mode 100644
index 6e835fb..0000000
--- a/nix/programs/waybar/default.nix
+++ /dev/null
@@ -1,80 +0,0 @@
-{ config, lib, ... }:
-
-{
- home-manager.users.${config.user} = {
- programs.waybar = {
-
- enable = true;
-
- settings = [{
- height = 24;
- layer = "top";
- position = "top";
- spacing = 4;
-
- modules-left = [
- "hyprland/workspaces"
- ];
- modules-center = [
- "clock"
- ];
- modules-right = [
- "battery"
- "wireplumber"
- "network"
- "tray"
- ];
-
- "hyprland/workspaces" = {
- disable-scroll = true;
- all-outputs = true;
- format = "{name}";
- };
-
- battery = {
- interval = 1;
- states = {
- warning = 30;
- critical = 15;
- };
- format = " {capacity}%";
- format-charging = " {capacity}%";
- format-plugged = " {capacity}%";
- format-full = " {capacity}%";
- format-warning = " {capacity}%";
- format-critical = " {capacity}%";
- };
-
- wireplumber = {
- format = " {volume}%";
- format-bluetooth = " {volume}%";
- format-muted = " muted";
- scroll-step = 1;
- on-click = "pavucontrol";
- ignored-sinks = ["Easy Effects Sink"];
- };
-
- network = {
- format = " disconnected";
- format-wifi = " {essid}";
- format-ethernet = " {ipaddr}/{cidr}";
- format-disconnected = " disconnected";
- max-length = 50;
- on-click = "nm-connection-editor";
- };
-
- clock = {
- interval = 1;
- format = "{:%Y-%m-%d %a %H:%M:%S}";
- };
-
- tray = {
- spacing = config.theme.outerGap;
- };
- }];
-
-
- style = import ./style.nix { theme = config.theme; };
- };
- };
-}
diff --git a/nix/programs/waybar/style.nix b/nix/programs/waybar/style.nix
deleted file mode 100644
index 0b84514..0000000
--- a/nix/programs/waybar/style.nix
+++ /dev/null
@@ -1,115 +0,0 @@
-{ theme }:
-
-let
-
- fg = "#${theme.colors.fg}";
- bg = "#${theme.colors.bg}";
- surface-fg = "#${theme.colors.surface.fg}";
- surface-bg = "#${theme.colors.surface.bg}";
- primary = "#${theme.colors.primary}";
- success = "#${theme.colors.success}";
- warning = "#${theme.colors.warning}";
- error = "#${theme.colors.error}";
- fontSize = "${toString theme.font.size}px";
- outerGap = "${toString theme.outerGap}px";
- innerGap = "${toString theme.innerGap}px";
- outerRadius = "${toString theme.outerRadius}px";
- innerRadius = "${toString theme.innerRadius}px";
- borderWidth = "${toString theme.borderWidth}px";
-
-in
-
-''
-/** Base */
-
-* {
- all: unset;
-}
-
-window#waybar {
- font-family: "${theme.font.regular}", "${theme.font.icon}", "${theme.font.monospace}";
- font-size: ${fontSize};
- color: ${fg};
- background-color: ${bg};
-}
-
-/** Workspaces */
-
-#workspaces {
- margin-left: ${outerGap};
-}
-
-#workspaces button {
- border-radius: ${innerRadius};
- margin: 4px 2px;
- padding: 0px 7px;
- background: ${surface-bg};
- color: ${surface-fg};
-}
-
-#workspaces button.focused,
-#workspaces button.active {
- background: ${primary};
- color: ${bg};
-}
-
-#workspaces button.urgent {
- background: ${error};
-}
-
-/** Tray */
-
-#tray {
- border: none;
- margin-right: ${outerGap};
-}
-
-#tray > .passive {
- -gtk-icon-effect: dim;
-}
-
-#tray > .needs-attention {
- -gtk-icon-effect: highlight;
-}
-
-/** Right modules */
-
-#battery,
-#wireplumber,
-#network {
- padding: 0 ${outerGap};
-}
-
-/** Battery */
-
-#battery.charging {
- color: ${success};
-}
-
-#battery.warning:not(.charging) {
- color: ${warning};
-}
-
-#battery.critical:not(.charging) {
- color: ${error};
-}
-
-/** Wireplumber */
-
-#wireplumber.muted {
- color: ${error};
-}
-
-/** Network */
-
-#network.wifi,
-#network.ethernet {
- color: ${success};
-}
-
-#network.disconnected {
- color: ${error};
-}
-
-''
-
diff --git a/nix/programs/wireguard/default.nix b/nix/programs/wireguard/default.nix
deleted file mode 100644
index ff9c954..0000000
--- a/nix/programs/wireguard/default.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- environment.systemPackages = with pkgs; [
- wireguard-tools
- ];
-
- networking.wg-quick.interfaces = {
- freyanet = {
- address = [ "10.2.0.2/32" "fd:cafe:dead:bee::2/128" "fe80::2/128" ];
- dns = [ "10.3.0.138" ];
- privateKeyFile = config.sops.secrets.freyanetWg.path;
-
- peers = [{
- publicKey = "x0ykwakpYCvI/pG+nR83lNUyeOE9m54thnX3bvZ+FUk=";
- allowedIPs = [ "10.0.0.0/14" "fd:cafe::/32" ];
- endpoint = "cid.freya.cat:3000";
- persistentKeepalive = 25;
- }];
- };
-
- #tinternet = {
- # address = [ "69.0.0.2/32" "cafe::2/128" "fe80::2/128" ];
- # dns = [ "1.1.1.1" ];
- # privateKeyFile = config.sops.secrets.tinternetWg.path;
-
- # peers = [{
- # publicKey = "8Ice49Yc7N75OYJW59ohDbfUjgrkwIuGWKWocJQGgzI=";
- # allowedIPs = [ "0.0.0.0/0" "::/0" ];
- # endpoint = "freya.cat:51282";
- # persistentKeepalive = 25;
- # }];
- #};
- };
-}
diff --git a/nix/programs/wofi/default.nix b/nix/programs/wofi/default.nix
deleted file mode 100644
index cb08b43..0000000
--- a/nix/programs/wofi/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ config, lib, ... }:
-
-{
- default.appLauncher = lib.mkDefault "wofi --show drun --prompt 'Seach Programs'";
-
- home-manager.users.${config.user} = {
- programs.wofi = {
-
- enable = true;
-
- settings = {
- key_expand = "Tab";
- term = "kitty";
- matching = "multi-contains";
- insensitive = true;
- gtk_dark = true;
- hide_scroll = true;
- };
-
- style = import ./style.nix { theme = config.theme; };
-
- };
- };
-}
diff --git a/nix/programs/wofi/style.nix b/nix/programs/wofi/style.nix
deleted file mode 100644
index 40fb861..0000000
--- a/nix/programs/wofi/style.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ theme }:
-
-let
-
- fg = "#${theme.colors.fg}";
- bg = "#${theme.colors.bg}";
- surface-fg = "#${theme.colors.surface.fg}";
- surface-bg = "#${theme.colors.surface.bg}";
- primary = "#${theme.colors.primary}";
- fontSize = "${toString theme.font.size}px";
- outerGap = "${toString theme.outerGap}px";
- innerGap = "${toString theme.innerGap}px";
- outerRadius = "${toString theme.outerRadius}px";
- innerRadius = "${toString theme.innerRadius}px";
- borderWidth = "${toString theme.borderWidth}px";
-
-in
-
-''
-* {
- font-family: ${theme.font.monospace};
- font-size: ${fontSize};
-}
-
-/* Window */
-window {
- margin: 0px;
- border: ${borderWidth} solid ${primary};
- border-radius: ${outerRadius};
- background-color: ${bg};
-}
-
-/* Outer Box */
-#outer-box {
- padding: ${outerGap};
-}
-
-/* Scroll */
-#scroll {
- margin: 0px;
- padding: ${innerGap};
- border: none;
-}
-
-/* Input */
-#input {
- margin: ${innerGap};
- padding: ${innerGap};
- border: none;
- color: ${surface-fg};
- background-color: ${surface-bg};
- border-radius: ${outerRadius};
-}
-
-#input:focus,
-#input:active {
- border: ${borderWidth} solid ${primary};
- box-shadow: none;
- outline: none;
-}
-
-/* Text */
-#text {
- margin: ${innerGap};
- padding: ${innerGap};
- border: none;
- color: ${fg};
-}
-
-/* Selected Entry */
-#entry:selected {
- background-color: ${primary};
- border-radius: ${outerRadius};
-}
-
-#entry:selected #text {
- color: ${bg};
-}
-
-''
-
diff --git a/nix/programs/zsh/default.nix b/nix/programs/zsh/default.nix
deleted file mode 100644
index e0dce57..0000000
--- a/nix/programs/zsh/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ config, ... }:
-
-{
- programs.zsh = {
- enable = true;
- enableCompletion = true;
- enableGlobalCompInit = false;
- autosuggestions.enable = true;
- syntaxHighlighting.enable = true;
- histSize = 10000;
- };
-
- home-manager.users.${config.user} = {
- home.file = {
- ".zshrc".source = ./zshrc;
- ".zprofile".source = ./zprofile;
- };
- };
-}
diff --git a/nix/programs/zsh/zprofile b/nix/programs/zsh/zprofile
deleted file mode 100644
index 4815b36..0000000
--- a/nix/programs/zsh/zprofile
+++ /dev/null
@@ -1,11 +0,0 @@
-# dont attempt to launch a graphical
-# env in tmux
-if [ -n "$TMUX" ]; then
- return
-fi
-
-# only launch hyprland on tty 1
-if [ -z "${WAYLAND_DISPLAY}" ] && [ "${XDG_VTNR}" -eq 1 ]; then
- export XDG_CURRENT_DESKTOP=Hyprland
- exec dbus-run-session Hyprland
-fi
diff --git a/nix/programs/zsh/zshrc b/nix/programs/zsh/zshrc
deleted file mode 100644
index b1c61a2..0000000
--- a/nix/programs/zsh/zshrc
+++ /dev/null
@@ -1,73 +0,0 @@
-# zsh initalization file
-
-# export 'SHELL' to child processes
-export SHELL
-
-if [[ $- != *i* ]]
-then
- # We are being invoked from a non-interactive shell. If this
- # is an SSH session (as in "ssh host command"), source
- # /etc/profile so we get PATH and other essential variables.
- [[ -n "$SSH_CLIENT" ]] && source /etc/profile
-
- # Don't do anything else.
- return
-fi
-
-# update PATH
-PATH=$PATH:$HOME/.local/bin
-PATH=$PATH:$HOME/.cargo/bin
-
-# vim mode >:)
-# no ryan i am not copying you
-set -o vi
-set show-mode-in-prompt on
-
-# Set shell prompt using starship
-if command -v "starship" > /dev/null; then
- eval "$(starship init zsh)"
-else
- export PS1="$$USER: "
-fi
-
-# aliases
-alias rf="rm -fr" # remove le french hon hon hon
-alias ls="ls --color=auto"
-alias ip="ip --color=auto"
-alias grep="grep --color=auto"
-alias diff="diff --color=auto"
-alias vim="nvim"
-alias ssh='TERM=xterm-256color ssh' # xterm-kitty bad
-
-# nix rebuild
-alias rs="sudo nixos-rebuild switch --flake ~/.config/nix#$(hostname)"
-alias rh="home-manager switch --flake ~/.config/nix#$(hostname)"
-
-# manpages
-export LESS_TERMCAP_md=$'\e[1;36m'
-export LESS_TERMCAP_me=$'\e[0m'
-export LESS_TERMCAP_se=$'\e[0m'
-export LESS_TERMCAP_so=$'\e[1;92m'
-export LESS_TERMCAP_ue=$'\e[0m'
-export LESS_TERMCAP_us=$'\e[1;35m'
-export GROFF_NO_SGR=1
-
-# compinit
-autoload compinit && compinit
-
-# keybinds
-bindkey "\e[1;5D" backward-word
-bindkey "\e[1;5C" forward-word
-bindkey "\e[3;5~" kill-word
-bindkey "\C-_" backward-kill-word
-bindkey "\e[3~" delete-char
-bindkey "\e[H" beginning-of-line
-bindkey "\e[F" end-of-line
-bindkey "\e\d" undo
-
-# gpg
-export GPG_TTY=$(tty)
-export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
-
-# ricing
-pfetch
diff --git a/nix/system/default.nix b/nix/system/default.nix
deleted file mode 100644
index 93e9396..0000000
--- a/nix/system/default.nix
+++ /dev/null
@@ -1,161 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # allow flakes
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
- # hostname
- networking.hostName = config.hostName;
-
- # common system packages
- environment.systemPackages = with pkgs; [
- # editor
- vim
- # lib
- libz
- openssl
- shared-mime-info
- # shell
- bash
- zsh
- # utility
- acpi
- alsa-utils
- curl
- dig
- file
- fuse
- htop
- killall
- mlocate
- ntfs3g
- openssh
- p7zip
- ripgrep
- sbctl
- tree
- unzip
- wget
- ];
-
- # nix-ld
- programs.nix-ld.enable = true;
-
- # appimage
- programs.appimage = {
- enable = true;
- binfmt = true;
- };
-
- # use the latest kernel
- boot.kernelPackages = pkgs.linuxPackages_latest;
-
- # sysrq
- boot.kernel.sysctl."kernel.sysrq" = 246;
-
- # timezone
- time.timeZone = "America/New_York";
-
- # locale
- i18n.defaultLocale = "en_US.UTF-8";
-
- # services
- networking.networkmanager.enable = true;
- networking.networkmanager.dns = "systemd-resolved";
- networking.firewall.enable = false;
- services.fwupd.enable = true;
- services.libinput.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- pulse.enable = true;
- jack.enable = true;
- };
- services.upower = {
- enable = true;
- percentageLow = 20;
- percentageCritical = 10;
- percentageAction = 4;
- criticalPowerAction = "Hibernate";
- };
- services.resolved.enable = true;
-
- # printing
- services.printing.enable = true;
- services.avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
-
- # docker
- virtualisation.docker.enable = true;
- virtualisation.docker.storageDriver = "btrfs";
-
- # create user account
- users.users.${config.user} = {
- isNormalUser = true;
- description = config.fullName;
- extraGroups = [ "networkmanager" "wheel" "sys" "video" "audio" "docker" "libvirtd" ];
- home = config.homePath;
- shell = pkgs.zsh;
- };
-
- # certs
- security.pki.certificateFiles = [
- ../../files/certs/freyanet.crt
- ../../files/certs/tinternet.crt
- ];
-
- # mime
- environment.pathsToLink = [
- "/share/mime"
- ];
-
- # fonts
- fonts.packages = with pkgs; [
- corefonts
- dejavu_fonts
- fira-code
- fira-code-symbols
- jetbrains-mono
- material-icons
- nerd-fonts.fira-code
- noto-fonts
- noto-fonts-cjk-sans
- noto-fonts-emoji
- twemoji-color-font
- vistafonts
- ];
-
- fonts.fontconfig = {
- enable = true;
- defaultFonts = {
- serif = [
- "Twemoji"
- "DejaVu Serif"
- ];
- sansSerif = [
- "Twemoji"
- "DejaVu Sans"
- ];
- monospace = [
- "Fira Code"
- "FiraCode Nerd Font Mono"
- "Font Awesome 6 Pro Regular"
- "Twemoji"
- "DejaVu Sans Mono"
- ];
- emoji = [
- "Twemoji"
- "Noto Color Emoji"
- ];
- };
- };
-
- # vms
- programs.virt-manager.enable = true;
- users.groups.libvirtd.members = [config.user];
- virtualisation.libvirtd.enable = true;
- virtualisation.spiceUSBRedirection.enable = true;
-}
diff --git a/nix/themes/catppuccin/default.nix b/nix/themes/catppuccin/default.nix
deleted file mode 100644
index 5d587ef..0000000
--- a/nix/themes/catppuccin/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- frappe = import ./frappe.nix;
- latte = import ./latte.nix;
- macchiato = import ./macchiato.nix;
- mocha = import ./mocha.nix;
-}
diff --git a/nix/themes/catppuccin/frappe.nix b/nix/themes/catppuccin/frappe.nix
deleted file mode 100644
index a917ba8..0000000
--- a/nix/themes/catppuccin/frappe.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-rec {
- name = "Catppuccin Frappe";
- author = "https://github.com/catppuccin/catppuccin";
-
- fg = "c6d0f5";
- bg = "303446";
-
- surface.fg = fg;
- surface.bg = "414559";
-
- hover.fg = fg;
- hover.bg = "737994";
-
- primary = normal.blue;
- success = normal.green;
- warning = normal.yellow;
- error = normal.red;
-
- normal = {
- black = "51576d";
- red = "e78284";
- green = "a6d189";
- yellow = "e5c890";
- blue = "8caaee";
- magenta = "f4b8e4";
- cyan = "81c8be";
- white = "b5bfe2";
- };
-
- bright = {
- black = "626880";
- red = "e78284";
- green = "a6d189";
- yellow = "e5c890";
- blue = "8caaee";
- magenta = "f4b8e4";
- cyan = "81c8be";
- white = "a5adce";
- };
-}
diff --git a/nix/themes/catppuccin/latte.nix b/nix/themes/catppuccin/latte.nix
deleted file mode 100644
index ca0d3d6..0000000
--- a/nix/themes/catppuccin/latte.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-rec {
- name = "Catppuccin Latte";
- author = "https://github.com/catppuccin/catppuccin";
-
- fg = "4c4f69";
- bg = "eff1f5";
-
- surface.fg = fg;
- surface.bg = "ccd0da";
-
- hover.fg = fg;
- hover.bg = "9ca0b0";
-
- primary = normal.blue;
- success = normal.green;
- warning = normal.yellow;
- error = normal.red;
-
- normal = {
- black = "bcc0cc";
- red = "d20f39";
- green = "40a02b";
- yellow = "df8e1d";
- blue = "1e66f5";
- magenta = "ea76cb";
- cyan = "179299";
- white = "5c5f77";
- };
-
- bright = {
- black = "acb0be";
- red = "d20f39";
- green = "40a02b";
- yellow = "df8e1d";
- blue = "1e66f5";
- magenta = "ea76cb";
- cyan = "179299";
- white = "6c6f85";
- };
-}
diff --git a/nix/themes/catppuccin/macchiato.nix b/nix/themes/catppuccin/macchiato.nix
deleted file mode 100644
index e069a93..0000000
--- a/nix/themes/catppuccin/macchiato.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-rec {
- name = "Catppuccin Macchiato";
- author = "https://github.com/catppuccin/catppuccin";
-
- fg = "cad3f5";
- bg = "1e1e2e";
-
- surface.fg = fg;
- surface.bg = "313244";
-
- hover.fg = fg;
- hover.bg = "24273a";
-
- primary = normal.blue;
- success = normal.green;
- warning = normal.yellow;
- error = normal.red;
-
- normal = {
- black = "494d64";
- red = "ed8796";
- green = "a6da95";
- yellow = "eed49f";
- blue = "8aadf4";
- magenta = "f5bde6";
- cyan = "8bd5ca";
- white = "b8c0e0";
- };
-
- bright = {
- black = "5b6078";
- red = "ed8796";
- green = "a6da95";
- yellow = "eed49f";
- blue = "8aadf4";
- magenta = "f5bde6";
- cyan = "8bd5ca";
- white = "a5adcb";
- };
-}
diff --git a/nix/themes/catppuccin/mocha.nix b/nix/themes/catppuccin/mocha.nix
deleted file mode 100644
index 84cb6ef..0000000
--- a/nix/themes/catppuccin/mocha.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-rec {
- name = "Catppuccin Mocha";
- author = "https://github.com/catppuccin/catppuccin";
-
- fg = "cdd6f4";
- bg = "1e1e2e";
-
- surface.fg = fg;
- surface.bg = "313244";
-
- hover.fg = fg;
- hover.bg = "6c7086";
-
- primary = normal.blue;
- success = normal.green;
- warning = normal.yellow;
- error = normal.red;
-
- normal = {
- black = "45475a";
- red = "f38ba8";
- green = "a6e3a1";
- yellow = "f9e2af";
- blue = "89b4fa";
- magenta = "ca9ee6";
- cyan = "94e2d5";
- white = "bac2de";
- };
-
- bright = {
- black = "585b70";
- red = "f38ba8";
- green = "a6e3a1";
- yellow = "f9e2af";
- blue = "89b4fa";
- magenta = "ca9ee6";
- cyan = "94e2d5";
- white = "a6adc8";
- };
-}
diff --git a/nix/themes/default.nix b/nix/themes/default.nix
deleted file mode 100644
index 6111441..0000000
--- a/nix/themes/default.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- catppuccin = import ./catppuccin;
- tricolors = import ./tricolors.nix;
-}
diff --git a/nix/themes/tricolors.nix b/nix/themes/tricolors.nix
deleted file mode 100644
index d136fb4..0000000
--- a/nix/themes/tricolors.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-rec {
- name = "tricolors";
- author = "https://trimill.xyz";
-
- fg = bright.white;
- bg = normal.black;
-
- surface.fg = fg;
- surface.bg = "2c2b3b";
-
- hover.fg = fg;
- hover.bg = bright.black;
-
- primary = bright.blue;
- success = bright.green;
- warning = bright.yellow;
- error = bright.red;
-
- normal = {
- black = "14171d";
- blue = "3d67a2";
- cyan = "578c7c";
- green = "759438";
- magenta = "7b5687";
- red = "a63a3a";
- white = "ada0a8";
- yellow = "de7e54";
- };
-
- bright = {
- black = "4d4754";
- blue = "789ebf";
- cyan = "82bfb3";
- green = "97bd5e";
- magenta = "a97fb3";
- red = "cc5c5c";
- white = "c7c6c3";
- yellow = "f0c767";
- };
-}