summaryrefslogtreecommitdiff
path: root/programs
diff options
context:
space:
mode:
Diffstat (limited to 'programs')
-rw-r--r--programs/astal/default.nix19
-rw-r--r--programs/default.nix21
-rw-r--r--programs/firefox/default.nix36
-rw-r--r--programs/firefox/extraPrefs.nix21
-rw-r--r--programs/firefox/policy.nix127
-rw-r--r--programs/firefox/policyExtensions.nix62
-rw-r--r--programs/firefox/policyPrefs.nix128
-rw-r--r--programs/firefox/userChrome.nix23
-rw-r--r--programs/git/default.nix19
-rw-r--r--programs/gpg/default.nix39
-rw-r--r--programs/hypr/default.nix8
-rw-r--r--programs/hypr/hypridle.nix40
-rw-r--r--programs/hypr/hyprland.nix348
-rw-r--r--programs/hypr/hyprlock.nix82
-rw-r--r--programs/hypr/hyprpaper.nix17
-rw-r--r--programs/kitty/default.nix79
-rw-r--r--programs/mako/default.nix30
-rw-r--r--programs/neovim/config.nix94
-rw-r--r--programs/neovim/default.nix74
-rw-r--r--programs/neovim/init.lua359
-rw-r--r--programs/ssh/config12
-rw-r--r--programs/ssh/default.nix45
-rw-r--r--programs/starship/default.nix49
-rw-r--r--programs/steam/default.nix25
-rw-r--r--programs/talc/default.nix15
-rw-r--r--programs/tmux/default.nix16
-rw-r--r--programs/tmux/tmux.conf105
-rwxr-xr-xprograms/tmux/tmux_window7
-rw-r--r--programs/unofficial-homestuck-collection/default.nix15
-rw-r--r--programs/waybar/default.nix82
-rw-r--r--programs/waybar/style.nix108
-rw-r--r--programs/wofi/default.nix24
-rw-r--r--programs/wofi/style.nix74
-rw-r--r--programs/zsh/default.nix17
-rw-r--r--programs/zsh/zprofile11
-rw-r--r--programs/zsh/zshrc73
36 files changed, 0 insertions, 2304 deletions
diff --git a/programs/astal/default.nix b/programs/astal/default.nix
deleted file mode 100644
index 1b43dbe..0000000
--- a/programs/astal/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- lib,
- config,
- pkgs,
- inputs,
- ...
-}: let
- system = pkgs.stdenv.hostPlatform.system;
- astal = inputs.self.packages.${system};
-in {
- default.appLauncher = lib.mkDefault "astal-launcher";
-
- home-manager.users.${config.user} = {
- home.packages = [
- astal.astal.shell
- astal.astal.launcher
- ];
- };
-}
diff --git a/programs/default.nix b/programs/default.nix
deleted file mode 100644
index 692113e..0000000
--- a/programs/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{...}: {
- imports = [
- ./astal
- ./firefox
- ./git
- ./gpg
- ./hypr
- ./kitty
- ./mako
- ./neovim
- ./ssh
- ./starship
- ./steam
- ./talc
- ./tmux
- ./unofficial-homestuck-collection
- ./waybar
- ./wofi
- ./zsh
- ];
-}
diff --git a/programs/firefox/default.nix b/programs/firefox/default.nix
deleted file mode 100644
index 58aa83c..0000000
--- a/programs/firefox/default.nix
+++ /dev/null
@@ -1,36 +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/programs/firefox/extraPrefs.nix b/programs/firefox/extraPrefs.nix
deleted file mode 100644
index 74db984..0000000
--- a/programs/firefox/extraPrefs.nix
+++ /dev/null
@@ -1,21 +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/programs/firefox/policy.nix b/programs/firefox/policy.nix
deleted file mode 100644
index e222553..0000000
--- a/programs/firefox/policy.nix
+++ /dev/null
@@ -1,127 +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/programs/firefox/policyExtensions.nix b/programs/firefox/policyExtensions.nix
deleted file mode 100644
index 51d7e9d..0000000
--- a/programs/firefox/policyExtensions.nix
+++ /dev/null
@@ -1,62 +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/programs/firefox/policyPrefs.nix b/programs/firefox/policyPrefs.nix
deleted file mode 100644
index 73d2781..0000000
--- a/programs/firefox/policyPrefs.nix
+++ /dev/null
@@ -1,128 +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/programs/firefox/userChrome.nix b/programs/firefox/userChrome.nix
deleted file mode 100644
index ab93747..0000000
--- a/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/programs/git/default.nix b/programs/git/default.nix
deleted file mode 100644
index 5c6a73a..0000000
--- a/programs/git/default.nix
+++ /dev/null
@@ -1,19 +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/programs/gpg/default.nix b/programs/gpg/default.nix
deleted file mode 100644
index 1aa145a..0000000
--- a/programs/gpg/default.nix
+++ /dev/null
@@ -1,39 +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/programs/hypr/default.nix b/programs/hypr/default.nix
deleted file mode 100644
index 4a6bd01..0000000
--- a/programs/hypr/default.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{...}: {
- imports = [
- ./hypridle.nix
- ./hyprland.nix
- ./hyprlock.nix
- ./hyprpaper.nix
- ];
-}
diff --git a/programs/hypr/hypridle.nix b/programs/hypr/hypridle.nix
deleted file mode 100644
index e481e74..0000000
--- a/programs/hypr/hypridle.nix
+++ /dev/null
@@ -1,40 +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/programs/hypr/hyprland.nix b/programs/hypr/hyprland.nix
deleted file mode 100644
index a37be7f..0000000
--- a/programs/hypr/hyprland.nix
+++ /dev/null
@@ -1,348 +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}, bitdepth, ${toString monitor.bitdepth}"
- )
- 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 = config.theme.blur;
- 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_shift_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;
- enable_anr_dialog = false;
- vrr = 1;
- };
-
- # Ecosystem
- ecosystem = {
- no_update_news = true;
- no_donation_nag = true;
- };
-
- # Experimental
- experimental = {
- xx_color_management_v4 = true;
- };
- }; # end settings
- }; # end hyprland
- }; # end home-manager
-}
diff --git a/programs/hypr/hyprlock.nix b/programs/hypr/hyprlock.nix
deleted file mode 100644
index 130f379..0000000
--- a/programs/hypr/hyprlock.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- config,
- lib,
- ...
-}: let
- fg = "rgb(${config.theme.colors.fg})";
- bg = "rgb(${config.theme.colors.bg})";
- error = "rgb(${config.theme.colors.error})";
- trans = "rgba(0,0,0,0)";
-in {
- default.lockScreen = lib.mkDefault "hyprlock";
-
- home-manager.users.${config.user} = {
- programs.hyprlock = {
- enable = true;
-
- settings = {
- background = {
- path = config.theme.lockscreen;
- color = bg;
- blur_passes = 0;
- blur_size = 2;
- noise = 0;
- contrast = 0;
- brightness = 0;
- vibrancy = 0;
- vibrancy_darkness = 0.0;
- };
-
- # Password Input
- input-field = {
- size = "300, 30";
- outline_thickness = 0;
- dots_size = 0.25;
- dots_spacing = 0.55;
- dots_center = true;
- dots_rounding = -1;
- outer_color = trans;
- inner_color = trans;
- font_color = fg;
- fade_on_empty = false;
- placeholder_text = "Enter Password";
- hide_input = false;
- check_color = error;
- fail_color = error;
- capslock_color = -1;
- numlock_color = -1;
- bothlock_color = -1;
- invert_numlock = false;
- swap_font_color = false;
- font_family = config.theme.font.regular;
- position = "0, 50";
- halign = "center";
- valign = "bottom";
- };
-
- label = [
- # Date
- {
- text = "cmd[update:1000] echo \"$(date +\"%A, %B %d\")\"";
- color = fg;
- font_size = 20;
- font_family = config.theme.font.header;
- position = "0, -100";
- halign = "center";
- valign = "top";
- }
- # Clock
- {
- text = "cmd[update:1000] echo \"$(date +\"%k:%M:%S\")\"";
- color = fg;
- font_size = 90;
- font_family = config.theme.font.header;
- position = "0, -130";
- halign = "center";
- valign = "top";
- }
- ];
- };
- };
- };
-}
diff --git a/programs/hypr/hyprpaper.nix b/programs/hypr/hyprpaper.nix
deleted file mode 100644
index 13641b7..0000000
--- a/programs/hypr/hyprpaper.nix
+++ /dev/null
@@ -1,17 +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/programs/kitty/default.nix b/programs/kitty/default.nix
deleted file mode 100644
index eac223b..0000000
--- a/programs/kitty/default.nix
+++ /dev/null
@@ -1,79 +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/programs/mako/default.nix b/programs/mako/default.nix
deleted file mode 100644
index 94b0cd9..0000000
--- a/programs/mako/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- config,
- lib,
- ...
-}: {
- home-manager.users.${config.user} = {
- services.mako = {
- enable = false; # now using astal
-
- 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/programs/neovim/config.nix b/programs/neovim/config.nix
deleted file mode 100644
index ae10243..0000000
--- a/programs/neovim/config.nix
+++ /dev/null
@@ -1,94 +0,0 @@
-{
- config,
- inputs,
-}:
-inputs.self.lib.lua.fmt {
- # Width of tabs in the editor
- tabwidth = 4;
- # If tabs should be expanded to spaces
- expandtab = false;
- keys = {
- # NeoVIM leader key
- leader = " ";
- # Keybind to remove active hilighted content
- noh = "<leader>h";
- menus = {
- # Open file browser
- browser = "<leader>e";
- # Show active buffers
- buffers = "<leader>fb";
- # Show LSP errors
- error = "<leader>t";
- # Find files in working directory
- find = "<leader>ff";
- # Grep files in working directory
- grep = "<leader>fg";
- # Search help menu
- help = "<leader>fh";
- # Voew undo tree
- undo = "<leader>u";
- };
- lsp = {
- # Open LSP hover menu on a value
- hover = "K";
- # Perform an LSP action on a value
- action = "<leader>la";
- # View all references of a value
- references = "<leader>lr";
- # Rename current and all references of a value
- rename = "<leader>ln";
- };
- cmp = {
- # Select previous value in completion engine
- prev = "<C-p>";
- # Select next value in completion engine
- next = "<C-n>";
- # Confirm current value in completion engine
- confirm = "<CR>";
- # Auto complete using completion engine
- complete = "<C-space>";
- };
- };
- # list of lsp servers to load
- lsps = {
- clangd = {};
- jdtls = {};
- kotlin_language_server = {};
- phpactor = {};
- rust_analyzer = {};
- ts_ls = {};
- zls = {};
- };
- highlight = {
- # max file size in KiB to attempt to parse
- max_size = 1024;
- };
- # colorscheme
- theme = {
- colors = {
- 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}";
- };
- transparent = true;
- };
- # max column width
- col = {
- # show a bar at `width` characters
- show = true;
- width = 80;
- };
-}
diff --git a/programs/neovim/default.nix b/programs/neovim/default.nix
deleted file mode 100644
index c1ed000..0000000
--- a/programs/neovim/default.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- inputs,
- config,
- lib,
- pkgs,
- ...
-}: let
- lua_cfg = import ./config.nix {inherit config inputs;};
- lua = builtins.readFile ./init.lua;
-in {
- environment.variables.EDITOR = "nvim";
-
- home-manager.users.${config.user} = {
- programs.neovim = {
- enable = true;
- viAlias = true;
- vimAlias = true;
-
- extraLuaConfig = ''
- local config = ${lua_cfg}
-
- ${lua}
- '';
-
- plugins = with pkgs.vimPlugins; [
- # Dependencies
- vim-devicons
- nvim-web-devicons
- plenary-nvim
- # Colorscheme
- base16-nvim
- # Mode line
- lualine-nvim
- # Buffer line
- bufferline-nvim
- # File browser
- nvim-tree-lua
- # Undo tree
- undotree
- # Trouble (error menu)
- trouble-nvim
- # Telescope (buffers/find/grep/help)
- telescope-nvim
- # Snippets
- vim-vsnip
- vim-vsnip-integ
- friendly-snippets
- # Completion
- cmp-buffer
- cmp-nvim-lsp
- cmp-vsnip
- nvim-cmp
- # Sourround delimiters
- nvim-surround
- # Comment functions
- nerdcommenter
- # Treesitter
- nvim-treesitter.withAllGrammars
- # Syntax hilighting
- vim-illuminate
- # Todo comments
- todo-comments-nvim
- # Lsp server
- nvim-lspconfig
- # Notifications
- fidget-nvim
- # Auto indentation
- indent-o-matic
- # 80 column width
- virt-column-nvim
- ];
- };
- };
-}
diff --git a/programs/neovim/init.lua b/programs/neovim/init.lua
deleted file mode 100644
index 2be7fee..0000000
--- a/programs/neovim/init.lua
+++ /dev/null
@@ -1,359 +0,0 @@
---[[
-
- NeoVIM Configuration
- Copyright (c) Freya Murphy 2025
-
-]]--
-
---[[ LIB ]]--
-
-local function bind(key, action, opts)
- opts = opts or {}
- vim.keymap.set('n', key, action, opts)
-end
-
-local function join(left, right)
- if not left then return right end
- if not right then return left end
- for k,v in pairs(right) do
- local lv, rv = left[k], right[k]
- if type(rv) == "table" then
- left[k] = join(lv, rv)
- else
- left[k] = rv
- end
- end
- return left
-end
-
---[[ VIM ]]--
-
-vim.opt.tabstop = config.tabwidth
-vim.opt.softtabstop = config.tabwidth
-vim.opt.shiftwidth = config.tabwidth
-vim.opt.expandtab = config.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.keys.leader
-vim.g.maplocalleader = config.keys.leader
-vim.keymap.set("", '<leader>', '<Nop>', { noremap = true, silent = true })
-
--- lsp
-bind(config.keys.noh, vim.cmd.noh)
-vim.api.nvim_create_autocmd('LspAttach', {
- desc = 'LSP actions',
- callback = function(event)
- local opts = {buffer = event.buf}
- bind(config.keys.lsp.hover, function() vim.lsp.buf.hover() end, opts)
- bind(config.keys.lsp.action, function() vim.lsp.buf.code_action() end, opts)
- bind(config.keys.lsp.references, function() vim.lsp.buf.references() end, opts)
- bind(config.keys.lsp.rename, function() vim.lsp.buf.rename() end, opts)
- end
-})
-
---[[ COLORSCHEME ]]--
-
-vim.opt.termguicolors = true
-if config.theme.transparent then
- vim.g.base16_transparent_background = 1
-end
-
-local colorscheme = require('base16-colorscheme')
-colorscheme.setup({
- base00 = config.theme.colors.base00,
- base01 = config.theme.colors.base01,
- base02 = config.theme.colors.base02,
- base03 = config.theme.colors.base03,
- base04 = config.theme.colors.base04,
- base05 = config.theme.colors.base05,
- base06 = config.theme.colors.base06,
- base07 = config.theme.colors.base07,
- base08 = config.theme.colors.base08,
- base09 = config.theme.colors.base09,
- base0A = config.theme.colors.base0A,
- base0B = config.theme.colors.base0B,
- base0C = config.theme.colors.base0C,
- base0D = config.theme.colors.base0D,
- base0E = config.theme.colors.base0E,
- base0F = config.theme.colors.base0F,
-})
-
--- make transparent background
-if config.theme.transparent then
- 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
-end
--- identifiers should not be colored
-vim.api.nvim_set_hl(0, "Identifier", { fg = config.theme.colors.base05 })
-vim.api.nvim_set_hl(0, "TSVariable", { fg = config.theme.colors.base05 })
--- macro should be colored as a keyword
-vim.api.nvim_set_hl(0, "TSFuncMacro", { fg = config.theme.colors.base0E })
--- comments are too dark
-vim.api.nvim_set_hl(0, "Comment", { fg = config.theme.colors.base07 })
-vim.api.nvim_set_hl(0, "@comment", { link = "Comment" })
-
---[[ MODE LINE ]]--
-
-local lualine_theme = require('lualine.themes.base16')
-if config.theme.transparent then
- lualine_theme.normal.c = { fg = config.theme.colors.base05, bg = "none" }
-end
-
-require('lualine').setup {
- options = {
- theme = lualine_theme,
- icons_enabled = true,
- globalstatus = true,
- },
-}
-
---[[ BUFFER LINE ]]--
-
-require('bufferline').setup {}
-
---[[ FILE BROWSER ]]--
-
-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.keys.menus.browser, vim.cmd.NvimTreeToggle)
-
---[[ UNDO TREE ]]--
-
-bind(config.keys.menus.undo, vim.cmd.UndotreeToggle)
-
---[[ ERROR MENU ]]--
-
-bind(config.keys.menus.error, function() require('trouble').toggle() end)
-
---[[ TELESCOPE ]]--
-
-local telescope = require('telescope.builtin')
-bind(config.keys.menus.buffers, telescope.buffers)
-bind(config.keys.menus.find, telescope.find_files)
-bind(config.keys.menus.grep, telescope.live_grep)
-bind(config.keys.menus.help, telescope.help_tags)
-if config.theme.transparent then
- 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" })
-end
-
---[[ COMPLETION ]]--
-
-local cmp = require('cmp')
-local cmp_select = {behavior = cmp.SelectBehavior.select}
-local cmp_mappings = cmp.mapping.preset.insert({
- [config.keys.cmp.prev] = cmp.mapping.select_prev_item(cmp_select),
- [config.keys.cmp.next] = cmp.mapping.select_next_item(cmp_select),
- [config.keys.cmp.confirm] = cmp.mapping.confirm({ select = true }),
- [config.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,
-}
-
---[[ Surround Delimiters ]]--
-
-require('nvim-surround').setup {}
-
---[[ SYNTAX HIGHLIGHTING ]]--
-
-require('nvim-treesitter.configs').setup {
- highlight = {
- enable = true,
- disable = function(lang, buf)
- local max_filesize = config.highlight.max_size * 1024
- local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
- if ok and stats and stats.size > max_filesize then
- return true
- end
- end,
- additional_vim_regex_highlighting = true,
- },
-}
-
-require('illuminate').configure {
- providers = {
- 'lsp',
- 'treesitter',
- 'regex',
- },
-}
-
---[[ TODO COMMENTS ]]--
-
-require('todo-comments').setup()
-
---[[ LSP SERVER ]]--
-
-local lspconfig = require('lspconfig')
-local capabilities = require('cmp_nvim_lsp').default_capabilities()
-
-for lsp,config in pairs(config.lsps) do
- local config = join(capabilities, config)
- lspconfig[lsp].setup {
- capabilities = config,
- }
-end
-
-vim.diagnostic.config({
- virtual_lines = true,
-})
-
---[[ NOTIFICATIONS ]]--
-
-require('fidget').setup {
- notification = {
- window = {
- winblend = 0,
- },
- },
-}
-
---[[ AUTO INDENTATION ]]--
-
-require('indent-o-matic').setup {
- max_lines = 2048,
- standard_widths = { 2, 4, 8 },
- skip_multiline = true,
-}
-
---[[ 80 COLUMN WIDTH ]]--
-
-if config.col.show then
- require('virt-column').setup {
- enabled = true,
- virtcolumn = tostring(config.col.width),
- }
-end
diff --git a/programs/ssh/config b/programs/ssh/config
deleted file mode 100644
index 5ae97b6..0000000
--- a/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/programs/ssh/default.nix b/programs/ssh/default.nix
deleted file mode 100644
index b6ecb1d..0000000
--- a/programs/ssh/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- config,
- lib,
- ...
-}: {
- # ssh config
- home-manager.users.${config.user} = {
- programs.ssh = {
- enable = true;
- extraConfig = lib.fileContents ./config;
- };
- };
-
- # sshd
- services.openssh = {
- enable = true;
- ports = [22];
- settings = {
- PasswordAuthentication = false;
- KbdInteractiveAuthentication = false;
- UseDns = true;
- X11Forwarding = false;
- PermitRootLogin = "no";
- };
- };
-
- # allow ssh port
- networking.firewall.allowedTCPPorts = [22];
-
- # ban evil
- services.fail2ban = {
- enable = true;
- ignoreIP = [
- # freyanet
- "10.0.0.0/14"
- ];
- };
-
- # add authorized keys
- users.users.${config.user} = {
- openssh.authorizedKeys.keyFiles = [
- ../../files/keys/ssh.pub
- ];
- };
-}
diff --git a/programs/starship/default.nix b/programs/starship/default.nix
deleted file mode 100644
index 74fd28a..0000000
--- a/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/programs/steam/default.nix b/programs/steam/default.nix
deleted file mode 100644
index 65deeaa..0000000
--- a/programs/steam/default.nix
+++ /dev/null
@@ -1,25 +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/programs/talc/default.nix b/programs/talc/default.nix
deleted file mode 100644
index 92ba578..0000000
--- a/programs/talc/default.nix
+++ /dev/null
@@ -1,15 +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/programs/tmux/default.nix b/programs/tmux/default.nix
deleted file mode 100644
index c7ce7db..0000000
--- a/programs/tmux/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- config,
- pkgs,
- ...
-}: {
- home-manager.users.${config.user} = {
- home.packages = [
- pkgs.tmux
- ];
-
- home.file = {
- ".tmux.conf".source = ./tmux.conf;
- ".local/bin/tmux_window".source = ./tmux_window;
- };
- };
-}
diff --git a/programs/tmux/tmux.conf b/programs/tmux/tmux.conf
deleted file mode 100644
index 31ac742..0000000
--- a/programs/tmux/tmux.conf
+++ /dev/null
@@ -1,105 +0,0 @@
-
-# change prefix
-set -g prefix C-a
-unbind C-b
-bind C-a send-prefix
-
-# split windows like vim
-# vim's definition of a horizontal/vertical split is reversed from tmux's
-bind s split-window -v
-bind v split-window -h
-
-# split panes using | and -
-bind - split-window -v
-bind | split-window -h
-unbind '"'
-unbind %
-
-# reload config file
-bind r source-file ~/.tmux.conf
-
-# large history
-set -g history-limit 10000
-
-# start windows and panes at 1, not 0
-set -g base-index 1
-setw -g pane-base-index 1
-
-# switch term
-bind 1 run-shell "tmux_window 1"
-bind 2 run-shell "tmux_window 2"
-bind 3 run-shell "tmux_window 3"
-bind 4 run-shell "tmux_window 4"
-bind 5 run-shell "tmux_window 5"
-bind 6 run-shell "tmux_window 6"
-bind 7 run-shell "tmux_window 7"
-bind 8 run-shell "tmux_window 8"
-bind 9 run-shell "tmux_window 9"
-bind 0 run-shell "tmux_window 10"
-bind S choose-tree
-
-# terminal style
-set -g default-terminal "tmux-256color"
-set -g terminal-overrides "*:colors=256"
-set -a terminal-features "xterm-kitty:RGB"
-
-# focus events
-set -g focus-events on
-
-# move around panes with hjkl, as one would in vim after pressing ctrl-w
-bind -n M-Left select-pane -L
-bind -n M-Right select-pane -R
-bind -n M-Up select-pane -U
-bind -n M-Down select-pane -D
-
-# enable mouse control
-set -g mouse on
-
-# don't rename windows automatically
-set-option -g allow-rename off
-
-# don't do anything when a 'bell' rings
-set -g visual-activity off
-set -g visual-bell off
-set -g visual-silence off
-setw -g monitor-activity off
-set -g bell-action none
-
-# clock mode
-setw -g clock-mode-colour yellow
-
-# copy mode
-setw -g mode-style 'fg=black bg=red bold'
-setw -g mode-keys vi
-
-# panes
-set -g pane-border-style 'fg=red'
-set -g pane-active-border-style 'fg=yellow'
-
-# statusbar
-set -g status-position bottom
-set -g status-justify left
-set -g status-style 'fg=blue'
-set -g status-interval 1
-
-set -g status-left ''
-set -g status-left-length 10
-
-set -g status-right-style 'fg=black bg=blue'
-set -g status-right '%Y-%m-%d %H:%M:%S '
-set -g status-right-length 50
-
-setw -g window-status-current-style 'fg=black bg=blue'
-setw -g window-status-current-format ' #I #W #F '
-
-setw -g window-status-style 'fg=blue bg=black'
-setw -g window-status-format ' #I #[fg=white]#W #[fg=blue]#F '
-
-setw -g window-status-bell-style 'fg=blue bg=red bold'
-
-# messages
-set -g message-style 'fg=yellow bg=red bold'
-
-# bind : to command-prompt like vim
-# this is the default in tmux already
-bind : command-prompt
diff --git a/programs/tmux/tmux_window b/programs/tmux/tmux_window
deleted file mode 100755
index 1cdacf0..0000000
--- a/programs/tmux/tmux_window
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-if tmux list-windows | grep -q "^$1:"; then
- tmux select-window -t "$1"
-else
- tmux new-window -t "$1"
-fi
diff --git a/programs/unofficial-homestuck-collection/default.nix b/programs/unofficial-homestuck-collection/default.nix
deleted file mode 100644
index 834bc5c..0000000
--- a/programs/unofficial-homestuck-collection/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- config,
- pkgs,
- inputs,
- ...
-}: let
- system = pkgs.stdenv.hostPlatform.system;
- unofficial-homestuck-collection = inputs.self.packages.${system};
-in {
- home-manager.users.${config.user} = {
- home.packages = [
- unofficial-homestuck-collection.unofficial-homestuck-collection
- ];
- };
-}
diff --git a/programs/waybar/default.nix b/programs/waybar/default.nix
deleted file mode 100644
index 7602a82..0000000
--- a/programs/waybar/default.nix
+++ /dev/null
@@ -1,82 +0,0 @@
-{
- config,
- lib,
- ...
-}: {
- home-manager.users.${config.user} = {
- programs.waybar = {
- enable = false; # using astal now
-
- 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/programs/waybar/style.nix b/programs/waybar/style.nix
deleted file mode 100644
index 33db673..0000000
--- a/programs/waybar/style.nix
+++ /dev/null
@@ -1,108 +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/programs/wofi/default.nix b/programs/wofi/default.nix
deleted file mode 100644
index add0c26..0000000
--- a/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/programs/wofi/style.nix b/programs/wofi/style.nix
deleted file mode 100644
index 27b7205..0000000
--- a/programs/wofi/style.nix
+++ /dev/null
@@ -1,74 +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/programs/zsh/default.nix b/programs/zsh/default.nix
deleted file mode 100644
index ce1820e..0000000
--- a/programs/zsh/default.nix
+++ /dev/null
@@ -1,17 +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/programs/zsh/zprofile b/programs/zsh/zprofile
deleted file mode 100644
index 4815b36..0000000
--- a/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/programs/zsh/zshrc b/programs/zsh/zshrc
deleted file mode 100644
index b1c61a2..0000000
--- a/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