diff --git a/configuration.nix b/configuration.nix index f744dfa..2ac37a0 100755 --- a/configuration.nix +++ b/configuration.nix @@ -1,4 +1,4 @@ -{ config, lib, pkgs, user, host, allowed, secrets, rice, nvidia, ... }: +{ config, lib, pkgs, pkgs-unstable, user, host, allowed, secrets, rice, nvidia, ... }: let in { @@ -13,6 +13,7 @@ in ./system-modules/networking.nix ./system-modules/virtualisation.nix ./system-modules/sshd.nix + # ./system-modules/syncthing.nix ./system-modules/hsmw.nix ./system-modules/docker.nix ./system-modules/health_reminder.nix @@ -62,6 +63,7 @@ in # $ nix search wget environment.systemPackages = with pkgs; [ git + lazygit # home-manager module is bugged git-crypt wget curl @@ -77,17 +79,21 @@ in blueman dmidecode file - ]; + ] ++ (with pkgs-unstable; [ + sendme + ]); fonts.packages = with pkgs; [ noto-fonts noto-fonts-cjk noto-fonts-emoji - ] ++ [ - rice.font.base.package - rice.font.code.package - ]; + ] ++ (with rice.font; [ + base.package + code.package + ]) ++ (with pkgs-unstable; [ + newcomputermodern + ]); programs.gnupg.agent = { enable = true; diff --git a/flake.lock b/flake.lock index 1562abe..f486732 100755 --- a/flake.lock +++ b/flake.lock @@ -33,6 +33,29 @@ "type": "github" } }, + "firefox-addons": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "dir": "pkgs/firefox-addons", + "lastModified": 1716782615, + "narHash": "sha256-/Awpe+K8Npq35mhPw3gj+X/phWrvjXCEgbraxmtBlIU=", + "owner": "rycee", + "repo": "nur-expressions", + "rev": "33111902039a1a779aef5574c7262dd8e9d688ae", + "type": "gitlab" + }, + "original": { + "dir": "pkgs/firefox-addons", + "owner": "rycee", + "repo": "nur-expressions", + "type": "gitlab" + } + }, "flake-compat": { "flake": false, "locked": { @@ -71,6 +94,21 @@ } }, "flake-utils": { + "locked": { + "lastModified": 1629284811, + "narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { "inputs": { "systems": "systems_2" }, @@ -117,11 +155,11 @@ ] }, "locked": { - "lastModified": 1715381426, - "narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=", + "lastModified": 1716729592, + "narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=", "owner": "nix-community", "repo": "home-manager", - "rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4", + "rev": "2c78a57c544dd19b07442350727ced097e1aa6e6", "type": "github" }, "original": { @@ -147,11 +185,11 @@ ] }, "locked": { - "lastModified": 1713612213, - "narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=", + "lastModified": 1716576411, + "narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1", + "rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621", "type": "github" }, "original": { @@ -170,11 +208,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1715724815, - "narHash": "sha256-I1ioStn+IZEURbjvsB+ZHuABldyqNefwi2utovefn+I=", + "lastModified": 1716801877, + "narHash": "sha256-vfMb7opO2xva0jt/UwMGlyjK4DB73SWxus4Oryww+C8=", "ref": "refs/heads/main", - "rev": "94c20a186372aace78b188842848b873eb3ebbd7", - "revCount": 4693, + "rev": "db5d39a66f1285f78321d953eac398feaedfc63d", + "revCount": 4744, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -249,11 +287,11 @@ ] }, "locked": { - "lastModified": 1713121246, - "narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=", + "lastModified": 1716473782, + "narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706", + "rev": "87d5d984109c839482b88b4795db073eb9ed446f", "type": "github" }, "original": { @@ -274,11 +312,11 @@ ] }, "locked": { - "lastModified": 1715608589, - "narHash": "sha256-vimNaLjLcoNIvBhF37GaB6PRYEvKMamY3UnDE9M5MW8=", + "lastModified": 1716058375, + "narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "65c2636484e5cb00583b8a7446c3fb657f568883", + "rev": "3afed4364790aebe0426077631af1e164a9650cc", "type": "github" }, "original": { @@ -292,7 +330,7 @@ "crane": "crane", "flake-compat": "flake-compat", "flake-parts": "flake-parts", - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": "nixpkgs_2", "pre-commit-hooks-nix": "pre-commit-hooks-nix", "rust-overlay": "rust-overlay" @@ -314,11 +352,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1715534503, - "narHash": "sha256-5ZSVkFadZbFP1THataCaSf0JH2cAH3S29hU9rrxTEqk=", + "lastModified": 1716330097, + "narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "2057814051972fa1453ddfb0d98badbea9b83c06", + "rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "type": "github" }, "original": { @@ -346,11 +384,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1715787315, - "narHash": "sha256-cYApT0NXJfqBkKcci7D9Kr4CBYZKOQKDYA23q8XNuWg=", + "lastModified": 1716509168, + "narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "33d1e753c82ffc557b4a585c77de43d4c922ebb5", + "rev": "bfb7a882678e518398ce9a31a881538679f6f092", "type": "github" }, "original": { @@ -377,11 +415,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1715542476, - "narHash": "sha256-FF593AtlzQqa8JpzrXyRws4CeKbc5W86o8tHt4nRfIg=", + "lastModified": 1716633019, + "narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "44072e24566c5bcc0b7aa9178a0104f4cfffab19", + "rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e", "type": "github" }, "original": { @@ -423,6 +461,7 @@ }, "root": { "inputs": { + "firefox-addons": "firefox-addons", "home-manager": "home-manager", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", @@ -503,11 +542,11 @@ ] }, "locked": { - "lastModified": 1714662532, - "narHash": "sha256-Pj2xGSYhapYbXL7sk7TTlOtCZcTfPQoL3fPbZeg7L4Y=", + "lastModified": 1716290197, + "narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "1f228ba2f1f254195c0b571302b37482861abee3", + "rev": "91e48d6acd8a5a611d26f925e51559ab743bc438", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 06f011f..10fd200 100755 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,11 @@ # url = "github:hercules-ci/arion"; # inputs.nixpkgs.follows = "nixpkgs"; #}; + firefox-addons = { + url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # yazi.url = "github:sxyazi/yazi"; }; outputs = { self, nixpkgs, nixpkgs-unstable, home-manager, ... }@inputs: @@ -79,7 +84,7 @@ rice = rec { lib = import ./nxlib/ricelib.nix { lib = nixpkgs.lib; }; - transparency = 0.9; + transparency = 0.8; rounding = 10; gap-size = 10; border-width = 3; @@ -101,7 +106,7 @@ xcolor = with ccolor; { background = black.dark; foreground = white.base; - border = red.base; + border = green.base; border2 = blue.base; accent = magenta.base; tertiary = blue.base; diff --git a/home-modules/firefox.nix b/home-modules/firefox.nix new file mode 100644 index 0000000..4749372 --- /dev/null +++ b/home-modules/firefox.nix @@ -0,0 +1,170 @@ +{pkgs, secrets, user, inputs, ...}: { + programs.firefox = { + enable = true; + package = pkgs.firefox; + profiles.${user} = { + # extensions = with inputs.firefox-addons; [ + # ublock-origin + # darkreader + # bitwarden + # flagfox + # sponsorblock + # languagetool + # istilldontcareaboutcookies + # return-youtube-dislikes + # ]; + extensions = [ inputs.firefox-addons.darkreader ]; + bookmarks = [ + { + name = "Github Code Search"; + keyword = "cs"; + url = "https://github.com/search?type=code&auto_enroll=true"; + } + ]; + settings = { + "accessibility.typeaheadfind.flashBar" = 0; + "app.normandy.first_run" = false; + "app.normandy.migrationsApplied" = 12; + "app.normandy.user_id" = "25f4d747-3c5e-40e8-b520-caed34976e7a"; + "browser.aboutConfig.showWarning" = false; + "browser.bookmarks.addedImportButton" = true; + "browser.bookmarks.editDialog.confirmationHintShowCount" = 1; + "browser.bookmarks.restore_default_bookmarks" = false; + "browser.bookmarks.showMobileBookmarks" = true; + "browser.contentblocking.category" = "standard"; + "browser.contextual-services.contextId" = "{7fc76500-3ce1-4c39-8fa5-8e9964c04ecc}"; + "browser.download.lastDir" = "/home/nx2/Documents"; + "browser.download.panel.shown" = true; + "browser.download.viewableInternally.typeWasRegistered.avif" = true; + "browser.download.viewableInternally.typeWasRegistered.webp" = true; + "browser.eme.ui.firstContentShown" = true; + "browser.engagement.ctrlTab.has-used" = true; + "browser.engagement.downloads-button.has-used" = true; + "browser.engagement.fxa-toolbar-menu-button.has-used" = true; + "browser.laterrun.bookkeeping.sessionCount" = 1; + "browser.migration.version" = 144; + "browser.newtabpage.activity-stream.impressionId" = "{a6561b3f-3884-4b37-b9c1-c67e80f5792a}"; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.topSitesRows" = 2; + "browser.newtabpage.pinned" = "[{\"url\":\"https://www.youtube.com/\",\"label\":\"youtube\",\"baseDomain\":\"youtube.com\"},{\"url\":\"https://www.twitch.tv/\",\"baseDomain\":\"twitch.tv\"},{\"url\":\"https://nx2.site/\",\"label\":\"nx2\",\"baseDomain\":\"nx2.site\"},{\"url\":\"https://feddit.de\",\"label\":\"Lemmy\",\"baseDomain\":\"feddit.de\"},{\"url\":\"https://ieji.de\",\"label\":\"Mastadon\",\"baseDomain\":\"ieji.de\"},{\"url\":\"https://www.hs-mittweida.de/\",\"label\":\"HSMW\",\"baseDomain\":\"hs-mittweida.de\"},{\"url\":\"http://wiki.hyprland.org/\",\"label\":\"hyprland\",\"baseDomain\":\"wiki.hyprland.org\"},{\"url\":\"https://wiki.archlinux.org\",\"label\":\"ArchWiki\",\"baseDomain\":\"wiki.archlinux.org\"},{\"url\":\"https://chat.openai.com/\",\"label\":\"ChatGPT\",\"baseDomain\":\"chat.openai.com\"},{\"url\":\"https://www.nerdfonts.com/cheat-sheet\",\"label\":\"Nerdfonts\",\"baseDomain\":\"nerdfonts.com\"},{\"url\":\"http://127.0.0.1:8384/\",\"label\":\"Syncthing\",\"baseDomain\":\"127.0.0.1\"},{\"url\":\"https://lutris.net/\",\"label\":\"Lutris\",\"baseDomain\":\"lutris.net\"},{\"url\":\"https://www.namecheap.com/\",\"label\":\"Namecheap\",\"baseDomain\":\"namecheap.com\"},{\"url\":\"https://hub.docker.com/\",\"label\":\"Docker Hub\",\"baseDomain\":\"hub.docker.com\"},{\"url\":\"https://www.netflix.com/\",\"label\":\"Netflix\",\"baseDomain\":\"netflix.com\"},{\"url\":\"https://www.amazon.de/Amazon-Video/b/?&node=3010075031&ref=dvm_MLP_ROWEU_DE_1\",\"label\":\"Prime Video\"},{\"url\":\"https://translate.google.com/\",\"label\":\"Google Translate\",\"baseDomain\":\"translate.google.com\"}]"; + "browser.newtabpage.storageVersion" = 1; + "browser.pageActions.persistedActions" = "{\"ids\":[\"bookmark\",\"_802a552e-13d1-4683-a40a-1e5325fba4bb_\"],\"idsInUrlbar\":[\"_802a552e-13d1-4683-a40a-1e5325fba4bb_\",\"bookmark\"],\"idsInUrlbarPreProton\":[],\"version\":1}"; + "browser.pagethumbnails.storage_version" = 3; + "browser.pdfjs.feature-tour" = "{\"screen\":\"\",\"complete\":true}"; + "browser.policies.applied" = true; + "browser.proton.toolbar.version" = 3; + "browser.rights.3.shown" = true; + "browser.search.region" = "DE"; + "browser.startup.couldRestoreSession.count" = 2; + "browser.startup.homepage_override.mstone" = "126.0"; + "browser.theme.toolbar-theme" = 0; + "browser.translations.neverTranslateLanguages" = "de"; + "browser.translations.panelShown" = true; + "browser.uiCustomization.state" = "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[\"sponsorblocker_ajay_app-browser-action\",\"_d8b32864-153d-47fb-93ea-c273c4d1ef17_-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\",\"linkhints_lydell_github_io-browser-action\",\"languagetool-webextension_languagetool_org-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"_de22fd49-c9ab-4359-b722-b3febdc3a0b0_-browser-action\",\"amptra_keepa_com-browser-action\",\"pywalfox_frewacom_org-browser-action\"],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"customizableui-special-spring1\",\"urlbar-container\",\"customizableui-special-spring2\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\",\"ublock0_raymondhill_net-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"addon_darkreader_org-browser-action\",\"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action\"],\"toolbar-menubar\":[\"menubar-items\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"save-to-pocket-button\",\"developer-button\",\"_d8b32864-153d-47fb-93ea-c273c4d1ef17_-browser-action\",\"ublock0_raymondhill_net-browser-action\",\"_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action\",\"addon_darkreader_org-browser-action\",\"_762f9885-5a13-4abd-9c77-433dcd38b8fd_-browser-action\",\"linkhints_lydell_github_io-browser-action\",\"sponsorblocker_ajay_app-browser-action\",\"languagetool-webextension_languagetool_org-browser-action\",\"jid1-kkzogwgsw3ao4q_jetpack-browser-action\",\"_de22fd49-c9ab-4359-b722-b3febdc3a0b0_-browser-action\",\"amptra_keepa_com-browser-action\",\"_d7742d87-e61d-4b78-b8a1-b469842139fa_-browser-action\",\"pywalfox_frewacom_org-browser-action\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\",\"toolbar-menubar\",\"TabsToolbar\",\"unified-extensions-area\"],\"currentVersion\":20,\"newElementCount\":2}"; + "browser.urlbar.placeholderName" = "Google"; + "browser.urlbar.placeholderName.private" = "Google"; + "browser.urlbar.quicksuggest.migrationVersion" = 2; + "browser.urlbar.quicksuggest.scenario" = "history"; + "browser.urlbar.tipShownCount.searchTip_onboard" = 4; + "browser.urlbar.tipShownCount.searchTip_redirect" = 1; + "datareporting.policy.dataSubmissionPolicyAcceptedVersion" = 2; + "devtools.debugger.prefs-schema-version" = 11; + "devtools.everOpened" = true; + "devtools.inspector.activeSidebar" = "animationinspector"; + "devtools.inspector.selectedSidebar" = "animationinspector"; + "devtools.netmonitor.columnsData" = "[{\"name\":\"status\",\"minWidth\":30,\"width\":5.56},{\"name\":\"method\",\"minWidth\":30,\"width\":5.56},{\"name\":\"domain\",\"minWidth\":30,\"width\":11.11},{\"name\":\"file\",\"minWidth\":30,\"width\":27.78},{\"name\":\"url\",\"minWidth\":30,\"width\":25},{\"name\":\"initiator\",\"minWidth\":30,\"width\":11.11},{\"name\":\"type\",\"minWidth\":30,\"width\":5.56},{\"name\":\"transferred\",\"minWidth\":30,\"width\":11.11},{\"name\":\"contentSize\",\"minWidth\":30,\"width\":5.56},{\"name\":\"waterfall\",\"minWidth\":150,\"width\":16.67}]"; + "devtools.netmonitor.msg.visibleColumns" = "[\"data\",\"time\"]"; + "devtools.toolbox.host" = "window"; + "devtools.toolbox.sidebar.width" = 1406; + "devtools.toolsidebar-height.inspector" = 350; + "devtools.toolsidebar-width.inspector" = 816; + "devtools.toolsidebar-width.inspector.splitsidebar" = 513; + "distribution.iniFile.exists.appversion" = "126.0"; + "distribution.iniFile.exists.value" = true; + "distribution.nixos.bookmarksProcessed" = true; + "doh-rollout.doneFirstRun" = true; + "doh-rollout.home-region" = "DE"; + "dom.forms.autocomplete.formautofill" = true; + "dom.push.userAgentID" = "d5b33ca6eafc45e5b8ce2161eb075680"; + "extensions.activeThemeID" = "{9b84b6b4-07c4-4b4b-ba21-394d86f6e9ee}"; + "extensions.blocklist.pingCountVersion" = -1; + "extensions.databaseSchema" = 36; + "extensions.getAddons.databaseSchema" = 6; + "extensions.lastAppBuildId" = "20240509170740"; + "extensions.lastAppVersion" = "126.0"; + "extensions.lastPlatformVersion" = "126.0"; + "extensions.pendingOperations" = false; + "extensions.pictureinpicture.enable_picture_in_picture_overrides" = true; + "extensions.quarantinedDomains.list" = "autoatendimento.bb.com.br,ibpf.sicredi.com.br,ibpj.sicredi.com.br,internetbanking.caixa.gov.br,www.ib12.bradesco.com.br,www2.bancobrasil.com.br"; + "extensions.systemAddonSet" = "{\"schema\":1,\"addons\":{}}"; + "extensions.ui.dictionary.hidden" = true; + "extensions.ui.extension.hidden" = false; + "extensions.ui.lastCategory" = "addons://list/extension"; + "extensions.ui.locale.hidden" = true; + "extensions.ui.sitepermission.hidden" = true; + "extensions.webcompat.enable_shims" = true; + "extensions.webcompat.perform_injections" = true; + "extensions.webcompat.perform_ua_overrides" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.addon@darkreader.org" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.amptra@keepa.com" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.jid1-D7momAzRw417Ag@jetpack" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.jid1-KKzOGWgsW3Ao4Q@jetpack" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.languagetool-webextension@languagetool.org" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.linkhints@lydell.github.io" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.screenshots@mozilla.org" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.sponsorBlocker@ajay.app" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.uBlock0@raymondhill.net" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.{446900e4-71c2-419f-a6a7-df9c091e268b}" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.{802a552e-13d1-4683-a40a-1e5325fba4bb}" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.{d8b32864-153d-47fb-93ea-c273c4d1ef17}" = true; + "extensions.webextensions.ExtensionStorageIDB.migrated.{de22fd49-c9ab-4359-b722-b3febdc3a0b0}" = true; + "extensions.webextensions.uuids" = "{\"formautofill@mozilla.org\":\"62543e0a-fb48-4cb5-bb50-7bc1d34123eb\",\"pictureinpicture@mozilla.org\":\"72b053a7-04e4-443d-9eb0-788fee741317\",\"screenshots@mozilla.org\":\"b0da1868-7ce5-4126-836c-cb27f7c90fd1\",\"webcompat-reporter@mozilla.org\":\"53128b30-09e3-498f-b327-8297bca2a694\",\"webcompat@mozilla.org\":\"e3fce76c-5b97-4ed2-a127-5f54ea2b55a6\",\"default-theme@mozilla.org\":\"edf40636-48ae-479c-bb15-d2c1c594f4f3\",\"addons-search-detection@mozilla.com\":\"65723b37-68b8-4463-964e-000a9efc4bee\",\"google@search.mozilla.org\":\"e8fd2d91-fda9-450d-9410-c475b13cd126\",\"wikipedia@search.mozilla.org\":\"2cb739cf-5028-4ba1-8df8-a6b4035d3e3f\",\"bing@search.mozilla.org\":\"2836d1bb-c71f-451a-a7c9-5ed0304a71fb\",\"ddg@search.mozilla.org\":\"8280c1b4-90bb-4ca8-b1e3-9c64c1cb4740\",\"{d8b32864-153d-47fb-93ea-c273c4d1ef17}\":\"6cd42543-07ad-499d-ac1f-f755b26bc2c5\",\"uBlock0@raymondhill.net\":\"d57779a5-82b8-40d3-8a7b-05b25c9e86ac\",\"{802a552e-13d1-4683-a40a-1e5325fba4bb}\":\"ac3677b0-913d-4025-a37c-5cad38597584\",\"{446900e4-71c2-419f-a6a7-df9c091e268b}\":\"6978384a-6166-415d-ab6e-a6adfbe6731d\",\"addon@darkreader.org\":\"b691cdc2-fb80-4767-9baf-bc63d916deb6\",\"{762f9885-5a13-4abd-9c77-433dcd38b8fd}\":\"6830a911-9fbf-4c6a-b07b-0293a16f919d\",\"linkhints@lydell.github.io\":\"040ed779-4e1a-4be8-bb2f-1202d6406573\",\"jid1-q4sG8pYhq8KGHs@jetpack\":\"1c3283fc-303b-4984-aa6a-3d599b7dc543\",\"sponsorBlocker@ajay.app\":\"22d4703c-dabe-4d7c-95c7-3d1527e19ef6\",\"jid1-D7momAzRw417Ag@jetpack\":\"fd28819b-1fe8-401b-8d1b-ba42808f4983\",\"{ceb74424-e8e6-4023-b972-a12e50e17fcb}\":\"ef19aad8-0b64-49d3-84f0-af90c440df49\",\"languagetool-webextension@languagetool.org\":\"b3622472-5123-41be-8b48-f2040b0d2424\",\"jid1-KKzOGWgsW3Ao4Q@jetpack\":\"283cf64b-0d7a-4fd6-8579-876ba162e3eb\",\"{de22fd49-c9ab-4359-b722-b3febdc3a0b0}\":\"4c6ae857-dccb-4a09-a2eb-8351afef4cb9\",\"amptra@keepa.com\":\"85562121-cb4f-4138-a608-d61bd0c2852a\",\"{bc5ae657-5db8-4f8a-b558-e7343e127fee}\":\"d5468646-933b-4941-9ab2-007faf58f8c1\",\"{9b84b6b4-07c4-4b4b-ba21-394d86f6e9ee}\":\"6e250173-0b11-41a3-b3f9-f1527394f0c6\"}"; + "gecko.handlerService.defaultHandlersVersion" = 1; + "identity.fxaccounts.account.device.name" = "nx2’s Firefox on NxXPS"; + "identity.fxaccounts.account.telemetry.sanitized_uid" = "13f64fe3ab835d96147cefb0f5c11287"; + "identity.fxaccounts.lastSignedInUserHash" = "u2qaIKiezOjW/0+5BuKsVe+1+U7k3SSH4qAuEPoL7Tc="; + "identity.fxaccounts.toolbar.accessed" = true; + "media.eme.enabled" = true; + "media.gmp-gmpopenh264.abi" = "x86_64-gcc3"; + "media.gmp-gmpopenh264.hashValue" = "53a58bfb4c8124ad4f7655b99bfdea290033a085e0796b19245b33b91c0948fdac9f0c3e817130b352493a65d9a7a0fc8a7c1eedc618cdaa2b4580734a11cd9c"; + "media.gmp-gmpopenh264.version" = "2.3.2"; + "media.gmp-manager.buildID" = "20240509170740"; + "media.gmp-widevinecdm.abi" = "x86_64-gcc3"; + "media.gmp-widevinecdm.hashValue" = "661ad969099a89a278384f56a17ae912c3542d585ea4981f3b9a3c6e1a07f8da6ffad9db29cee194bf7834adc3ca258c775cd2b0980e3e6cb7ee8b39600dad58"; + "media.gmp-widevinecdm.version" = "4.10.2710.0"; + "media.gmp.storage.version.observed" = 1; + "media.videocontrols.picture-in-picture.video-toggle.has-used" = true; + "network.dns.disablePrefetch" = true; + "network.http.speculative-parallel-limit" = 0; + "network.predictor.enabled" = false; + "network.prefetch-next" = false; + "network.proxy.type" = 4; + "nimbus.syncdefaultsstore.upgradeDialog" = "{\"slug\":\"upgrade-spotlight-rollout\",\"branch\":{\"slug\":\"treatment\",\"ratio\":1,\"feature\":{\"value\":null,\"enabled\":true,\"featureId\":\"upgradeDialog\"},\"features\":null},\"active\":true,\"experimentType\":\"rollout\",\"source\":\"rs-loader\",\"userFacingName\":\"Upgrade Spotlight Rollout\",\"userFacingDescription\":\"Experimenting on onboarding content when you upgrade Firefox.\",\"lastSeen\":\"2024-04-09T08:41:11.293Z\",\"featureIds\":[\"upgradeDialog\"],\"prefs\":[],\"isRollout\":true}"; + "nimbus.syncdefaultsstore.upgradeDialog.enabled" = false; + "pdfjs.enabledCache.state" = true; + "pdfjs.migrationVersion" = 2; + "pref.privacy.disable_button.view_passwords" = false; + "privacy.purge_trackers.date_in_cookie_database" = "0"; + "privacy.sanitize.pending" = "[{\"id\":\"newtab-container\",\"itemsToClear\":[],\"options\":{}}]"; + "security.sandbox.content.tempDirSuffix" = "83e3690e-e3e1-4bf5-b085-737b3a2792c9"; + "services.settings.clock_skew_seconds" = 0; + "services.sync.username" = secrets.email.gmail-online.mail; + "signon.autofillForms" = false; + "signon.rememberSignons" = false; + "storage.vacuum.last.index" = 2; + "toolkit.telemetry.cachedClientID" = "d2c7964b-01ee-49bf-94a9-329bd47d7606"; + "toolkit.telemetry.pioneer-new-studies-available" = true; + "toolkit.telemetry.previousBuildID" = "20240509170740"; + "toolkit.telemetry.reportingpolicy.firstRun" = false; + }; + }; + }; + + # xdg.mimeApps.defaultApplications = { + # "text/html" = ["firefox.desktop"]; + # "text/xml" = ["firefox.desktop"]; + # "x-scheme-handler/http" = ["firefox.desktop"]; + # "x-scheme-handler/https" = ["firefox.desktop"]; + # }; +} diff --git a/home-modules/games.nix b/home-modules/games.nix new file mode 100755 index 0000000..5569d77 --- /dev/null +++ b/home-modules/games.nix @@ -0,0 +1,7 @@ +{ pkgs, lib, host, ... }: +lib.mkIf (host != "NxACE") +{ + home.packages = with pkgs; [ + mindustry-wayland + ]; +} diff --git a/home-modules/git.nix b/home-modules/git.nix index 996656a..2622e48 100755 --- a/home-modules/git.nix +++ b/home-modules/git.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, system, user, allowed, secrets, ... }: +{ pkgs, lib, user, rice, ... }: lib.mkIf (user != "tv") { home.packages = with pkgs; [ @@ -50,4 +50,20 @@ lib.mkIf (user != "tv") }; }; }; + programs.lazygit = { + enable = true; + settings = { + windowSize = "normal"; + gui.theme = with rice.color; { + lightTheme = false; + activeBorderColor = [ border "bold"]; + inactiveBorderColor = [ black.bright ]; + optionsTextColor = [ blue.base ]; + selectedLineBgColor = [ foreground ]; + selectedRangeByColor = [ magenta.bright ]; + showRandomTip = true; + animateExplosion = true; + }; + }; + }; } diff --git a/home-modules/helix.nix b/home-modules/helix.nix index 697d2f7..0ca5d3c 100644 --- a/home-modules/helix.nix +++ b/home-modules/helix.nix @@ -39,13 +39,17 @@ file-picker.hidden = false; middle-click-paste = false; cursorline = true; - indent-guides.render = true; + indent-guides = { + render = true; + character = "╎"; + }; lsp.display-inlay-hints = true; statusline.center = [ "position-percentage" ]; true-color = true; whitespace.characters = { newline = "↴"; tab = "⇥"; + skip-levels = 1; }; }; @@ -60,9 +64,9 @@ "fg" = white.dark; "modifiers" = [ "italic" ]; }; - "constant" = cyan.bright; + "constant" = yellow.base; "constant.character.escape" = yellow.bright; - "constant.numeric" = blue.bright; + "constant.numeric" = green.bright; "constructor" = magenta.bright; "debug" = yellow.dark; "diagnostic.modifiers" = [ "underlined" ]; diff --git a/home-modules/hyprland.nix b/home-modules/hyprland.nix index 59293fe..95997d7 100755 --- a/home-modules/hyprland.nix +++ b/home-modules/hyprland.nix @@ -1,6 +1,6 @@ { pkgs, pkgs-unstable, inputs, host, user, nvidia, rice, lib, ... }: let - animation-speed = "2"; + animation-speed = "5"; transparency = builtins.toString rice.transparency; monitors = { xps = { @@ -154,7 +154,7 @@ lib.mkIf (user != "tv") gaps_in = builtins.div rice.gap-size 2; gaps_out = rice.gap-size; border_size = rice.border-width; - "col.active_border" = "rgba(${rice.lib.nohash rice.color.red.base}ff) rgba(${rice.lib.nohash rice.color.blue.base}ff) 90deg"; + "col.active_border" = "rgba(${rice.lib.nohash rice.color.border}ff) rgba(${rice.lib.nohash rice.color.border2}ff) 90deg"; "col.inactive_border" = "rgba(${rice.lib.nohash rice.color.black.base}ff) rgba(${rice.lib.nohash rice.color.blue.base}ff) 90deg"; # cursor_inactive_timeout = 10; diff --git a/home-modules/kitty.nix b/home-modules/kitty.nix index 5e230d2..8def95c 100755 --- a/home-modules/kitty.nix +++ b/home-modules/kitty.nix @@ -32,10 +32,8 @@ lib.mkIf (user != "tv") color7 = rice.color.white.base; color15 = rice.color.white.bright; background_opacity = builtins.toString rice.transparency; - transparency = true; - scroll_multiplier = 9; window_padding_width = 5; - window_padding_height = 5; + remember_window_size = false; }; }; } diff --git a/home-modules/waybar.nix b/home-modules/waybar.nix index eb790cb..84cceba 100755 --- a/home-modules/waybar.nix +++ b/home-modules/waybar.nix @@ -174,7 +174,8 @@ lib.mkIf (user != "tv") window#waybar { background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.background},${builtins.toString rice.transparency}); - transition-duration: 2s; + transition-duration: 5s; + transition-property: background-color; /* border: ${builtins.toString rice.border-width}px solid rgb(${rice.lib.hex-to-rgb-comma-string rice.color.blue.base}); */ /* margin: ${builtins.toString rice.gap-size}px; */ /* border-radius: ${builtins.toString rice.rounding}px; */ @@ -202,18 +203,18 @@ lib.mkIf (user != "tv") #workspaces button { color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.white.dark}); - padding-left: 10px; - padding-right: 10px; + padding-left: 15px; + padding-right: 15px; border-radius: ${builtins.toString rice.rounding}px; } #workspaces button.active { - color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.bright}); + color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.background}); + background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.base},${builtins.toString rice.transparency}); } #workspaces button:hover { - color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.background}); - background-color: rgba(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.bright},${builtins.toString rice.transparency}); + color: rgb(${rice.lib.hex-to-rgb-comma-string rice.color.cyan.bright}); } #workspaces button.urgent { diff --git a/home-modules/yazi.nix b/home-modules/yazi.nix index b715e04..e4a3f2a 100755 --- a/home-modules/yazi.nix +++ b/home-modules/yazi.nix @@ -1,13 +1,16 @@ -{ config, pkgs, lib, system, user, allowed, secrets, ... }: +{ pkgs, lib, system, user, inputs, ... }: lib.mkIf (user != "tv") { - home.packages = [ - pkgs.yazi - ]; + home.packages = with pkgs; [ + yazi + dragon + unar + ]; programs.yazi = { enable = true; + # package = inputs.yazi.packages.${system}.default; enableFishIntegration = true; settings = { manager = { @@ -19,6 +22,10 @@ lib.mkIf (user != "tv") linemode = "size"; show_hidden = false; show_symlink = true; + append_keymap = [ + { on = [ "" ]; run = "lazygit"; desc = "Run Lazygit in current directory"; } + { on = [ "" ]; exec = ''shell 'dragon -x -i -T "$1"' --confirm''; } + ]; }; opener = { edit = [ @@ -45,10 +52,51 @@ lib.mkIf (user != "tv") { exec = ''zathura "$@"''; desc = "zathura"; } { exec = ''firefox "$@"''; desc = "firefox"; } ]; + browser = [ + { exec = ''firefox "$@"''; desc = "firefox"; } + ]; + office = [ + { exec = ''libreoffice "$@"''; desc = "libreoffice"; } + { exec = ''libreoffice --view "$@"''; desc = "libreoffice read-only"; } + ]; + shell = [ + { exec = ''sh -c "$@"''; desc = "sh -c"; } + { exec = ''bash -c "$@"''; desc = "bash -c"; } + ]; + python = [ + { exec = ''python "$@"''; desc = "python"; } + ]; }; open.rules = [ { mime = "text/*"; use = "edit"; } + { mime = "text/plain"; use = "edit"; } + { mime = "text/html"; use = ["edit" "browser"]; } + { mime = "text/htm"; use = ["edit" "browser"]; } + { mime = "application/x-httpd-php"; use = ["edit" "browser"]; } + { mime = "application/json"; use = "edit"; } + { mime = "application/ld+json"; use = "edit"; } { mime = "image/*"; use = "image"; } + { mime = "image/svg"; use = ["image" "edit"]; } + { mime = "application/pdf"; use = "document"; } + { mime = "application/epub"; use = "document"; } + { mime = "video/*"; use = "video"; } + { mime = "application/vnd.oasis.opendocument.*"; use = "office"; } + { mime = "application/vnd.ms-powerpoint"; use = "office"; } + { mime = "application/vnd.ms-excel"; use = "office"; } + { mime = "application/vnd.openxmlformats-officedocument.*"; use = ["office" "edit"]; } + { mime = "application/rtf"; use = "office"; } + { mime = "application/x-sh"; use = ["edit" "shell"]; } + { mime = "application/x-python-code"; use = "python"; } + { mime = "text/x-python"; use = "python"; } + { mime = "application/xml"; use = "edit"; } + { mime = "application/xul"; use = "edit"; } + { mime = "application/x-bzip"; use = "archive"; } + { mime = "application/x-bzip2"; use = "archive"; } + { mime = "application/gzip"; use = "archive"; } + { mime = "application/vnd.rar"; use = "archive"; } + { mime = "application/x-tar"; use = "archive"; } + { mime = "application/zip"; use = "archive"; } + { mime = "application/x-7z-compressed"; use = "archive"; } ]; }; }; diff --git a/home.nix b/home.nix index f05ec4d..577f18e 100755 --- a/home.nix +++ b/home.nix @@ -2,6 +2,7 @@ { imports = [ ./home-modules/vscode.nix + # ./home-modules/firefox.nix ./home-modules/discord.nix ./home-modules/chatterino.nix ./home-modules/email.nix @@ -19,6 +20,8 @@ ./home-modules/nx-gcal-event.nix ./home-modules/wlogout.nix ./home-modules/rofi.nix + + ./home-modules/games.nix ./home-modules/kitty.nix ./home-modules/fish.nix @@ -51,7 +54,7 @@ permittedInsecurePackages = allowed.inecure-packages; }; home.packages = with pkgs; [ - # firefox + firefox chromium zathura @@ -67,6 +70,7 @@ pavucontrol fontpreview gtk2fontsel lynx bat du-dust eza neofetch tldr fzf figlet ripgrep lolcat jq glow brightnessctl wev + piper-tts sssnake pipes dig @@ -77,8 +81,10 @@ glib gsettings-desktop-schemas + wl-clipboard + xclip ] ++ (with pkgs-unstable; [ - firefox + # firefox ]) ++ (if host != "NxACE" then (with pkgs; [ signal-desktop obsidian diff --git a/secrets/passwords-and-certificates.nix b/secrets/passwords-and-certificates.nix index cc943b2..f225aac 100755 Binary files a/secrets/passwords-and-certificates.nix and b/secrets/passwords-and-certificates.nix differ diff --git a/system-modules/syncthing.nix b/system-modules/syncthing.nix new file mode 100644 index 0000000..604bbd7 --- /dev/null +++ b/system-modules/syncthing.nix @@ -0,0 +1,51 @@ +{ pkgs, lib, user, host, secrets, ...}: +let + devices = { + north = { name = "NxNORTH"; id = ""; }; + xps = { name = "NxXPS"; id = ""; }; + ace = { name = "NxACE"; id = ""; }; + s21u = { name = "NxS21U"; id = ""; }; + diane = { name = "diane"; id = ""; }; + daniel = { name = "daniel"; id = ""; }; + tessa = { name = "tessa"; id = ""; }; + georg = { name = "georg"; id = ""; }; + }; + conv = _: device: with device; { "${name}" = {id = id;};}; + dirs = { + default = { name = "sync"; path = "/home/${user}/sync"; }; + }; + justname = devices: (builtins.map (device: device.name)) devices; + cd = /home/${user}/.config/syncthing; +in +lib.mkIf (user != "tv") +{ + services.syncthing = { + enable = true; + user = "${user}"; + dataDir = "/home/${user}/.local/share/syncthing"; # useless ? + configDir = cd; + # key = builtins.toFile "key.pem" secrets.syncthing.${host}.key; + # cert = builtins.toFile "cert.pem" secrets.syncthing.${host}.cert; + # overrideDevices = true; + # overrideFolders = true; + settings = { + devices = with (builtins.mapAttrs conv devices); if (host == "NxXPS") then ( + north // ace // s21u + ) else if (host == "NxNORTH") then ( + xps // ace // s21u + ) else ( + north // xps // s21u // diane // daniel // tessa // georg + ); + folders = with dirs; if (host == "NxXPS") then { + "${default.name}" = { + path = default.path; + devices = with devices; (justname [ north ace s21u ]); + }; + } else { + what = "dman"; + }; + }; + }; + +} +