diff --git a/flake.lock b/flake.lock index 9e76f9f..2fde9c5 100644 --- a/flake.lock +++ b/flake.lock @@ -74,11 +74,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1700076060, - "narHash": "sha256-fisxBv+v62yXFpkGCv+qdE8P4hsUJfd+iQoYGgNhMZ4=", + "lastModified": 1700426642, + "narHash": "sha256-fTvjVGpa6s+sIdF8W7U6ks8qhkLDQlfGqan0ja5u+IM=", "owner": "helix-editor", "repo": "helix", - "rev": "2040444da9eb3a9b2438bf98c0568ce06ec4c1e4", + "rev": "a0e5bb8520b4461417e171e4b8146f02d04ffdc1", "type": "github" }, "original": { @@ -95,11 +95,11 @@ ] }, "locked": { - "lastModified": 1700087144, - "narHash": "sha256-LJP1RW0hKNWmv2yRhnjkUptMXInKpn/rV6V6ofuZkHU=", + "lastModified": 1700419052, + "narHash": "sha256-U6a5f9ynbzcp8PMIHULbHPkbwp7YfPKOYmTcLqlalD4=", "owner": "nix-community", "repo": "home-manager", - "rev": "ab1459a1fb646c40419c732d05ec0bf2416d4506", + "rev": "993fb02d20760067b8ee19c713d94cee07037759", "type": "github" }, "original": { @@ -110,11 +110,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1699997707, - "narHash": "sha256-ugb+1TGoOqqiy3axyEZpfF6T4DQUGjfWZ3Htry1EfvI=", + "lastModified": 1700392353, + "narHash": "sha256-KARn8aVJu5fdW0jdJYoOQ1SPqWlNdz4l7r90NbArWSY=", "owner": "NixOs", "repo": "nixos-hardware", - "rev": "5689f3ebf899f644a1aabe8774d4f37eb2f6c2f9", + "rev": "2b00bc76dc893cd996a3d76a2f059d657a5ef37a", "type": "github" }, "original": { @@ -126,11 +126,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699963925, - "narHash": "sha256-LE7OV/SwkIBsCpAlIPiFhch/J+jBDGEZjNfdnzCnCrY=", + "lastModified": 1700204040, + "narHash": "sha256-xSVcS5HBYnD3LTer7Y2K8ZQCDCXMa3QUD1MzRjHzuhI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "bf744fe90419885eefced41b3e5ae442d732712d", + "rev": "c757e9bd77b16ca2e03c89bf8bc9ecb28e0c06ad", "type": "github" }, "original": { @@ -142,11 +142,11 @@ }, "nur": { "locked": { - "lastModified": 1700166954, - "narHash": "sha256-f9+JUFDUzwmM+em8wqWgHvgTO4qCCYtKPUZ+nlVIirA=", + "lastModified": 1700455140, + "narHash": "sha256-tnjrTqcfWGGEYMgJAfMw+84HLuA9igA6nj77+UAMdxg=", "owner": "nix-community", "repo": "nur", - "rev": "04d24fb0e6258af7bbe51b29308e670de81a7d2f", + "rev": "ecea80d860ca3485d3aa9cae6d0829adff5d3e5d", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e7bcadf..4674801 100644 --- a/flake.nix +++ b/flake.nix @@ -6,9 +6,11 @@ extra-substituters = [ # Nix community's cache server "https://nix-community.cachix.org" + "https://helix.cachix.org" ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "helix.cachix.org-1:ejp9KQpR1FBI2onstMQ34yogDm4OgU2ru6lIwPvuCVs=" ]; }; @@ -65,13 +67,16 @@ specialArgs = {inherit inputs;}; modules = [ ./hosts/JWST/configuration.nix - nixos-hardware.nixosModules.dell-xps-15-9520 + # nixos-hardware.nixosModules.dell-xps-15-9520 nixos-hardware.nixosModules.common-gpu-nvidia-disable { nixpkgs.overlays = overlays; } home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; - home-manager.users."tacocat" = ./users/tacocat/home.nix; + home-manager.users."tacocat" = { + imports = [./users/tacocat/home.nix]; + _module.args.theme = import ./modules/themes; + }; home-manager.extraSpecialArgs = {inherit inputs;}; } ]; @@ -87,6 +92,6 @@ ]; }; - packages.${system}."tacocat" = self.homeConfigurations."tacocat".activationPackage; + # packages.${system}."tacocat" = self.homeConfigurations."tacocat".activationPackage; }; } diff --git a/hosts/JWST/configuration.nix b/hosts/JWST/configuration.nix index 280f3e3..f073359 100644 --- a/hosts/JWST/configuration.nix +++ b/hosts/JWST/configuration.nix @@ -122,6 +122,15 @@ rsync strace ]; + + # TODO configure this under sway with home-manager + variables = { + SDL_VIDEODRIVER = "wayland"; + QT_QPA_PLATFORM = "wayland"; + QT_WAYLAND_DISABLE_WINDOWDECORATIONS = "1"; + _JAVA_AWT_WM_NONREPARENTING = "1"; + MOZ_ENABLE_WAYLAND = "1"; + }; }; # This value determines the NixOS release from which the default diff --git a/modules/themes/default.nix b/modules/themes/default.nix new file mode 100644 index 0000000..0f449f4 --- /dev/null +++ b/modules/themes/default.nix @@ -0,0 +1,4 @@ +let + tokyonight = import ./tokyonight.nix; +in +tokyonight diff --git a/modules/themes/tokyonight.nix b/modules/themes/tokyonight.nix new file mode 100644 index 0000000..513e131 --- /dev/null +++ b/modules/themes/tokyonight.nix @@ -0,0 +1,18 @@ +{ + base00 = "#1a1b26"; + base01 = "#a9b1d6"; + base02 = "#24283b"; + base03 = "#f7768e"; + base04 = "#9ece6a"; + base05 = "#e0af68"; + base06 = "#7aa2f7"; + base07 = "#bb9af7"; + base08 = "#7dcfff"; + base09 = "#414868"; + base0A = "#ff9e64"; + base0B = "#9ece6a"; + base0C = "#e0af68"; + base0D = "#7aa2f7"; + base0E = "#bb9af7"; + base0F = "#7dcfff"; +} diff --git a/users/tacocat/home.nix b/users/tacocat/home.nix index 2537296..604fd82 100644 --- a/users/tacocat/home.nix +++ b/users/tacocat/home.nix @@ -30,6 +30,7 @@ jetbrains-mono fira-code mononoki + iosevka (nerdfonts.override {fonts = ["FiraCode"];}) gnupg pandoc @@ -47,6 +48,8 @@ ]; }; + programs.nix-index.enable = true; + fonts.fontconfig.enable = true; news.display = "silent"; diff --git a/users/tacocat/programs/firefox.nix b/users/tacocat/programs/firefox.nix index 77d317f..a8d0530 100644 --- a/users/tacocat/programs/firefox.nix +++ b/users/tacocat/programs/firefox.nix @@ -1,34 +1,40 @@ -{pkgs, ...}: { +{pkgs, theme, ...}: { programs.firefox = { enable = true; - package = pkgs.firefox.override { - extraPolicies = { - DisableAppUpdate = true; - DisableFirefoxAccounts = false; - DisableFirefoxStudies = true; - DisablePocket = true; - DisableTelemetry = true; - DontCheckDefaultBrowser = true; - EnableTrackingProtection = true; - NoDefaultBookmarks = true; - OfferToSaveLogins = false; - OfferToSaveLoginsDefault = false; - PasswordManagerEnabled = false; - FirefoxHome = { - Search = true; - Pocket = false; - Snippets = false; - TopSites = false; - Highlights = false; - }; - UserMessaging = { - ExtensionRecommendations = false; - SkipOnboarding = true; - }; - Cookies = { - ExpireAtSessionEnd = true; - RejectTracker = true; - }; + policies = { + DisableAppUpdate = true; + DisableFirefoxAccounts = false; + DisableFirefoxStudies = true; + DisablePocket = true; + DisableTelemetry = true; + DontCheckDefaultBrowser = true; + EnableTrackingProtection = true; + NoDefaultBookmarks = true; + OfferToSaveLogins = false; + OfferToSaveLoginsDefault = false; + PasswordManagerEnabled = false; + FirefoxHome = { + Search = true; + Pocket = false; + Snippets = false; + TopSites = false; + Highlights = false; + }; + UserMessaging = { + ExtensionRecommendations = false; + SkipOnboarding = true; + }; + Cookies = { + ExpireAtSessionEnd = true; + RejectTracker = true; + }; + SanitizeOnShutdown = { + Cache = true; + Cookies = true; + Downloads = true; + FormData = true; + SiteSettings = true; + History = false; }; }; profiles = { @@ -49,6 +55,16 @@ "app.update.auto" = false; "browser.download.useDownloadDir" = false; "browser.download.manager.addToRecentDocs" = false; + "browser.urlbar.suggest.addons" = false; + "browser.urlbar.suggest.clipboard" = false; + "browser.urlbar.suggest.engines" = false; + "browser.urlbar.suggest.history" = false; + "browser.urlbar.suggest.pocket" = false; + "browser.urlbar.suggest.topsites" = false; + "browser.urlbar.suggest.searches" = false; + "browser.urlbar.suggest.trending" = false; + "browser.tabs.firefox-view" = false; + "toolkit.legacyUserProfileCustomizations.stylesheets" = true; }; search = { force = true; @@ -97,7 +113,285 @@ "eBay".metaData.hidden = true; }; }; + userChrome = '' + @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + * { + font-family: "mononoki" !important; + font-size: 14px !important; + + --arrowpanel-background: ${theme.base00} !important; + --arrowpanel-border-color: ${theme.base02} !important; + --autocomplete-popup-highlight-color: ${theme.base01} !important; + --autocomplete-popup-highlight-background: ${theme.base06} !important; + --toolbarbutton-active-background: ${theme.base06} !important; + --lwt-toolbarbutton-icon-fill-attention: var(--button-primary-bgcolor, ${theme.base06}) !important; + --toolbar-field-focus-border-color: ${theme.base06} !important; + } + .toolbar { + background-color: #11171D !important; + } + window, + #main-window, + #toolbar-menubar, + #TabsToolbar, + #PersonalToolbar, + #navigator-toolbox, + #sidebar-box { + background-color: ${theme.base02} !important; + -moz-appearance: none !important; + background-image: none !important; + border: none !important; + } + .tab-background[selected="true"] { + background-color: ${theme.base00} !important; + -moz-appearance: none !important; + background-image: none !important; + border: none !important; + } + .tab-background { + background-color: ${theme.base02} !important; + border-radius: 0px !important; + margin-block: 0px !important; + } + .tabbrowser-tab:hover .tab-background { + background-color: ${theme.base09} !important; + } + .tabbrowser-tab[fadein] { + max-width: 100vw !important; + } + #urlbar { + background-color: #11171D !important; + border-radius: 10px !important; + } + #nav-bar { + background-color: ${theme.base02} !important; + -moz-appearance: none !important; + background-image: none !important; + border: none !important; + transition: margin 0.5s !important; + } + #TabsToolbar { + z-index: 1000 !important; + } + #mainPopupSet menupopup, + menupopup:not(.in-menulist) > menuitem, + menupopup:not(.in-menulist) > menu { + border: 0 !important; + border-radius: 0px !important; + padding: 0px 0px 0px 0px !important; + } + .tabbrowser-tab { + height: 25px !important; + z-index: 1000 !important; + padding: none !important; + padding-inline: 0px !important; + } + /* + #navigator-toolbox:not(:focus-within):not(:hover) #nav-bar { + margin-top: -40px !important; + } + */ + .tab-line { + display: none !important; + } + .tab-icon-image:not([pinned]){ + display: none !important; + } + #tab-content { + vertical-align: middle !important; + } + .tab-text, + .tab-label { + -moz-box-flex: 1 !important; + text-align: center !important; + } + .tab-secondary-label { + display:none !important; + } + .tab-label { + padding-top: 5px !important; + overflow: hidden !important; + } + .tabbrowser-tab .tab-label-container { + margin-inline-end: 7px !important; + } + .tab-label-container { + -moz-box-pack: center !important; + -moz-box-orient: horizontal !important; + display: grid !important; + justify-content: safe center !important; + } + #tabbrowser-tabs { + -moz-box-flex: 1 !important; + text-align: center !important; + } + #tabs-newtab-button{ + display: none !important; + } + .tabbrowser-tab::before, + .tabbrowser-tab::after{ + display: none !important; + } + .tab-close-button { + display: none !important; + border-radius: 10px !important; + } + #identity-box, + #tracking-protection-icon-container { + display: none !important; + } + #back-button>.toolbarbutton-icon { + transform: scale(.85, .85) !important; + animation: none !important; + border: none !important; + box-shadow: none !important; + } + #back-button:not(:hover), + #back-button:not(:hover) > .toolbarbutton-icon { + background: none !important; + } + #back-button:hover, + #back-button:hover > .toolbarbutton-icon { + border-radius: 2px !important; + } + #whats-new-menu-button, + #pocket-button, + #save-to-pocket-button + #pageActionSeparator, + #reader-mode-button { + display: none !important; + } + #star-button { + color: ${theme.base06} !important; + } + #save-to-pocket-button { + visibility: hidden !important; + } + #PanelUI-button { + border-image-slice: 0 !important; + } + #urlbar-input { + background-color: ${theme.base00} !important; + padding-left: 5px !important; + } + #urlbar-results { + background-color: ${theme.base00} !important; + border-radius: 5px !important; + } + #urlbar-results .urlbarView-row:hover{ + color: ${theme.base06} !important; + border-radius: 5px !important; + } + .urlbarView-row[selected] .urlbarView-row-inner { + border-radius: 5px !important; + background-color: ${theme.base06} !important; + color: ${theme.base00} !important; + } + .urlbarView-body-inner { + border-top: none !important; + } + #nav-bar { + border-bottom: 0px !important; + box-shadow: none !important; + } + #urlbar ::-moz-selection, + .searchbar-textbox ::-moz-selection { + background-color: ${theme.base01} !important; + color: ${theme.base09} !important; + } + #tabbrowser-tabpanels { + background-color: ${theme.base01} !important; + } + urlbar > #urlbar-background { + background-color: ${theme.base00} !important; + } + #urlbar-background { + background-color: ${theme.base00} !important; + color: ${theme.base02} !important; + border: 1px solid ${theme.base06} !important; + } + #urlbar-background:not([focused]) { + background-color: ${theme.base00} !important; + color: ${theme.base02} !important; + } + #urlbar-one-offs-header-label{ + display: none; + } + .search-one-offs > .search-panel-one-offs-header::before{ + display: block; + content: "Search With:"; + padding-inline: var(--urlbarView-item-inline-padding) 18px; + opacity: 0.6; + } + ''; + userContent = '' + @namespace url("http://www.w3.org/1999/xhtml"); + :root { + scrollbar-color: ${theme.base00} ${theme.base02}; + } + * { + scrollbar-width: thin; + } + @-moz-document url-prefix("about:") { + :root { + --in-content-page-background: ${theme.base00} !important; + --toolbar-field-focus-border-color: ${theme.base06} !important; + --toolbarbutton-active-background: ${theme.base06} !important; + } + } + @-moz-document url("about:newtab"), url("about:home") { + * { + font-family: "mononoki" !important; + } + body { + background-color: ${theme.base00} !important; + } + .logo-and-wordmark { + display: none !important; + } + .SnippetBaseContainer { + display: none !important; + } + .search-handoff-button { + border-radius: 15px !important; + border-width: 4px !important; + border-color: ${theme.base02} !important; + background-size: 0px !important; + background-color: ${theme.base00} !important; + padding-inline-start: 10px !important; + padding-inline-end: 10px !important; + } + .icon-settings { + display: none !important; + } + .fake-textbox { + text-align: center !important; + } + .search-wrapper input { + background-color: ${theme.base09} !important; + border-radius: 0px !important; + background-image: none !important; + background-size: none !important; + text-align: center !important; + font-size: 17px !important; + padding-inline-start: 10px !important; + padding-inline-end: 10px !important; + } + .search-wrapper input:focus { + text-align: left !important; + } + .body-wrapper { + display: none !important; + } + } + ''; }; }; }; + + # home.file."theme" = { + # source = "${inputs.firefox-rose}/dist"; + # target = ".mozilla/firefox/aria/chrome"; + # recursive = true; + # }; }