diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..a2c2c04 --- /dev/null +++ b/flake.lock @@ -0,0 +1,570 @@ +{ + "nodes": { + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1755819240, + "narHash": "sha256-qcMhnL7aGAuFuutH4rq9fvAhCpJWVHLcHVZLtPctPlo=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "75ed5e5e3fce37df22e49125181fa37899c3ccd6", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1765809053, + "narHash": "sha256-XCUQLoLfBJ8saWms2HCIj4NEN+xNsWBlU1NrEPcQG4s=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "rev": "86cbea4dca62e08fb7fd83a70e96472f92574782", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1760703920, + "narHash": "sha256-m82fGUYns4uHd+ZTdoLX2vlHikzwzdu2s2rYM2bNwzw=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "d646af9b7d14bff08824538164af99d0c521b185", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1732806396, + "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=", + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-vim", + "rev": "577fe8125d74ff456cf942c733a85d769afe58b7", + "type": "github" + } + }, + "firefox-gnome-theme": { + "flake": false, + "locked": { + "lastModified": 1775176642, + "narHash": "sha256-2veEED0Fg7Fsh81tvVDNYR6SzjqQxa7hbi18Jv4LWpM=", + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "rev": "179704030c5286c729b5b0522037d1d51341022c", + "type": "github" + }, + "original": { + "owner": "rafaelmardojai", + "repo": "firefox-gnome-theme", + "type": "github" + } + }, + "flake-parts": { + "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { + "nixpkgs-lib": [ + "nixvim", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1772408722, + "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_3": { + "inputs": { + "nixpkgs-lib": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1731966426, + "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "106af9e2f715e2d828df706c386a685698f3223b", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1767737596, + "narHash": "sha256-eFujfIUQDgWnSJBablOuG+32hCai192yRdrNHTv0a+s=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", + "type": "github" + }, + "original": { + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "ef02db02bf0ff342734d525b5767814770d85b49", + "type": "github" + } + }, + "hjem": { + "inputs": { + "nix-darwin": "nix-darwin", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775569958, + "narHash": "sha256-W+kpLQ5J/DDaY1nUmvN9aIAfh5ixdyqYM76ZUdcvMBU=", + "owner": "feel-co", + "repo": "hjem", + "rev": "32bd6d54d805a3eb41efa62a940eeceaf263c4a8", + "type": "github" + }, + "original": { + "owner": "feel-co", + "repo": "hjem", + "type": "github" + } + }, + "import-tree": { + "locked": { + "lastModified": 1773693634, + "narHash": "sha256-BtZ2dtkBdSUnFPPFc+n0kcMbgaTxzFNPv2iaO326Ffg=", + "owner": "vic", + "repo": "import-tree", + "rev": "c41e7d58045f9057880b0d85e1152d6a4430dbf1", + "type": "github" + }, + "original": { + "owner": "vic", + "repo": "import-tree", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "hjem", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775037210, + "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=", + "owner": "nix-darwin", + "repo": "nix-darwin", + "rev": "06648f4902343228ce2de79f291dd5a58ee12146", + "type": "github" + }, + "original": { + "owner": "nix-darwin", + "repo": "nix-darwin", + "type": "github" + } + }, + "nixos-hardware": { + "locked": { + "lastModified": 1775490113, + "narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=", + "owner": "NixOs", + "repo": "nixos-hardware", + "rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7", + "type": "github" + }, + "original": { + "owner": "NixOs", + "ref": "master", + "repo": "nixos-hardware", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1775423009, + "narHash": "sha256-vPKLpjhIVWdDrfiUM8atW6YkIggCEKdSAlJPzzhkQlw=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "68d8aa3d661f0e6bd5862291b5bb263b2a6595c9", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-lib": { + "locked": { + "lastModified": 1774748309, + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1774701658, + "narHash": "sha256-CIS/4AMUSwUyC8X5g+5JsMRvIUL3YUfewe8K4VrbsSQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "b63fe7f000adcfa269967eeff72c64cafecbbebe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1775036866, + "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_4": { + "locked": { + "lastModified": 1775579569, + "narHash": "sha256-/m3yyS/EnXqoPGBJYVy4jTOsirdgsEZ3JdN2gGkBr14=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "dfd9566f82a6e1d55c30f861879186440614696e", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { + "locked": { + "lastModified": 1773734432, + "narHash": "sha256-IF5ppUWh6gHGHYDbtVUyhwy/i7D261P7fWD1bPefOsw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "cda48547b432e8d3b18b4180ba07473762ec8558", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixvim": { + "inputs": { + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_2", + "systems": "systems" + }, + "locked": { + "lastModified": 1775837497, + "narHash": "sha256-L17VI03w/wVXvc1SK7EI1muLqHxD3+esYPPzgQvvdOE=", + "owner": "nix-community", + "repo": "nixvim", + "rev": "a587a96a48c705609bfd2ad23f9ae5961eb0d373", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixvim", + "type": "github" + } + }, + "nur": { + "inputs": { + "flake-parts": [ + "stylix", + "flake-parts" + ], + "nixpkgs": [ + "stylix", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775228139, + "narHash": "sha256-ebbeHmg+V7w8050bwQOuhmQHoLOEOfqKzM1KgCTexK4=", + "owner": "nix-community", + "repo": "NUR", + "rev": "601971b9c89e0304561977f2c28fa25e73aa7132", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "NUR", + "type": "github" + } + }, + "root": { + "inputs": { + "flake-parts": "flake-parts", + "hjem": "hjem", + "import-tree": "import-tree", + "nixos-hardware": "nixos-hardware", + "nixpkgs": "nixpkgs", + "nixvim": "nixvim", + "stylix": "stylix", + "wrapper-modules": "wrapper-modules", + "wrappers": "wrappers" + } + }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-fish": "base16-fish", + "base16-helix": "base16-helix", + "base16-vim": "base16-vim", + "firefox-gnome-theme": "firefox-gnome-theme", + "flake-parts": "flake-parts_3", + "gnome-shell": "gnome-shell", + "nixpkgs": "nixpkgs_3", + "nur": "nur", + "systems": "systems_2", + "tinted-kitty": "tinted-kitty", + "tinted-schemes": "tinted-schemes", + "tinted-tmux": "tinted-tmux", + "tinted-zed": "tinted-zed" + }, + "locked": { + "lastModified": 1775429060, + "narHash": "sha256-wbFF5cRxQOCzL/wHOKYm21t5AHPH2Lfp0mVPCOAvEoc=", + "owner": "danth", + "repo": "stylix", + "rev": "d27951a6539951d87f75cf0a7cda8a3a24016019", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "tinted-kitty": { + "flake": false, + "locked": { + "lastModified": 1735730497, + "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=", + "owner": "tinted-theming", + "repo": "tinted-kitty", + "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-kitty", + "type": "github" + } + }, + "tinted-schemes": { + "flake": false, + "locked": { + "lastModified": 1772661346, + "narHash": "sha256-4eu3LqB9tPqe0Vaqxd4wkZiBbthLbpb7llcoE/p5HT0=", + "owner": "tinted-theming", + "repo": "schemes", + "rev": "13b5b0c299982bb361039601e2d72587d6846294", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "schemes", + "type": "github" + } + }, + "tinted-tmux": { + "flake": false, + "locked": { + "lastModified": 1772934010, + "narHash": "sha256-x+6+4UvaG+RBRQ6UaX+o6DjEg28u4eqhVRM9kpgJGjQ=", + "owner": "tinted-theming", + "repo": "tinted-tmux", + "rev": "c3529673a5ab6e1b6830f618c45d9ce1bcdd829d", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "tinted-tmux", + "type": "github" + } + }, + "tinted-zed": { + "flake": false, + "locked": { + "lastModified": 1772909925, + "narHash": "sha256-jx/5+pgYR0noHa3hk2esin18VMbnPSvWPL5bBjfTIAU=", + "owner": "tinted-theming", + "repo": "base16-zed", + "rev": "b4d3a1b3bcbd090937ef609a0a3b37237af974df", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-zed", + "type": "github" + } + }, + "wrapper-modules": { + "inputs": { + "nixpkgs": "nixpkgs_4" + }, + "locked": { + "lastModified": 1775724285, + "narHash": "sha256-/ukfzDYzcuz7i+unH7XioPS3Acam6FC935XsOCaJDmY=", + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "rev": "d79d2f910dd0d8bffd11113865923199cb304f86", + "type": "github" + }, + "original": { + "owner": "BirdeeHub", + "repo": "nix-wrapper-modules", + "type": "github" + } + }, + "wrappers": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1775600302, + "narHash": "sha256-2fgKImv78CXIcfo1RsY7EI4uMZ84x/MggA5rrusYc7c=", + "owner": "Lassulus", + "repo": "wrappers", + "rev": "9d8397d8ef1ac35763085f3338589f558128f7db", + "type": "github" + }, + "original": { + "owner": "Lassulus", + "repo": "wrappers", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..834e3f9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,25 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + + flake-parts.url = "github:hercules-ci/flake-parts"; + import-tree.url = "github:vic/import-tree"; + nixos-hardware.url = "github:NixOs/nixos-hardware/master"; + wrapper-modules.url = "github:BirdeeHub/nix-wrapper-modules"; + nixvim.url = "github:nix-community/nixvim"; + wrappers.url = "github:Lassulus/wrappers"; + stylix.url = "github:danth/stylix"; + hjem = { + url = "github:feel-co/hjem"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} (inputs.import-tree [ ./modules ]); + #inputs.nvf.nixosModules.default + #inputs.nixos-hardware.nixosModules.framework-13-7040-amd + #nvf = { + # url = "github:notashelf/nvf"; + # inputs.nixpkgs.follows = "nixpkgs"; + #}; +} diff --git a/modules/features/alacritty.nix b/modules/features/alacritty.nix new file mode 100644 index 0000000..f44b457 --- /dev/null +++ b/modules/features/alacritty.nix @@ -0,0 +1,82 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.alacritty = { pkgs, ... }: let + selfpkgs = self.packages."${pkgs.stdenv.hostPlatform.system}"; + in { + environment.systemPackages = [ + selfpkgs.myAlacritty + ]; + }; + + perSystem = { pkgs, ... }: let + environment.systemPackages = [ + pkgs.zsh + ]; + in { + packages.myAlacritty = inputs.wrapper-modules.wrappers.alacritty.wrap { + inherit pkgs; + settings = (builtins.fromTOML + '' + [terminal.shell] + args = ['--login'] + program = "zsh" + + [cursor] + style = "Block" + + [font] + size = 12 + + [font.normal] + family = "BitstromWeraNerdFont" + + [window] + startup_mode = "Windowed" + dynamic_padding = true + opacity = 0.9 + + [window.padding] + x = 0 + y = 0 + + [colors.normal] + black = '0x090618' + red = '0xc34043' + green = '0x76946a' + yellow = '0xc0a36e' + blue = '0x7e9cd8' + magenta = '0x957fb8' + cyan = '0x6a9589' + white = '0xc8c093' + + + [colors.primary] + background = '0x1f1f28' + foreground = '0xdcd7ba' + + [colors.cursor] + cursor = '0x2d4f67' + text = '0xc8c093' + + + [[colors.indexed_colors]] + index = 16 + color = '0xffa066' + + [[colors.indexed_colors]] + index = 17 + color = '0xff5d62' + + [keyboard] + bindings = [ + {key="j", mods="Alt", action="ScrollHalfPageDown"}, + {key="k", mods="Alt", action="ScrollHalfPageUp"}, + ] + + [terminal] + + '' ); + }; + }; + +} + diff --git a/modules/features/alacritty.toml b/modules/features/alacritty.toml new file mode 100644 index 0000000..6b2eb06 --- /dev/null +++ b/modules/features/alacritty.toml @@ -0,0 +1,57 @@ +[terminal.shell] +args = ['--login'] +program = "/usr/bin/zsh" + +[cursor] +style = "Block" + +[font] +size = 12 + +[font.normal] +family = "BitstromWeraNerdFontMono" + +[window] +startup_mode = "Windowed" +dynamic_padding = true +opacity = 0.9 + +[window.padding] +x = 0 +y = 0 + +[colors.normal] +black = '0x090618' +red = '0xc34043' +green = '0x76946a' +yellow = '0xc0a36e' +blue = '0x7e9cd8' +magenta = '0x957fb8' +cyan = '0x6a9589' +white = '0xc8c093' + + +[colors.primary] +background = '0x1f1f28' +foreground = '0xdcd7ba' + +[colors.cursor] +cursor = '0x2d4f67' +text = '0xc8c093' + + +[[colors.indexed_colors]] +index = 16 +color = '0xffa066' + +[[colors.indexed_colors]] +index = 17 +color = '0xff5d62' + +[keyboard] +bindings = [ + {key="j", mods="Alt", action="ScrollHalfPageDown"}, + {key="k", mods="Alt", action="ScrollHalfPageUp"}, +] + +[terminal] diff --git a/modules/features/chromium.nix b/modules/features/chromium.nix new file mode 100644 index 0000000..6978a3c --- /dev/null +++ b/modules/features/chromium.nix @@ -0,0 +1,22 @@ +{ + flake.nixosModules.chromium = {pkgs, ...}: { + environment.systemPackages = [ + #pkgs.chromium + pkgs.ungoogled-chromium + #pkgs.iridium + #pkgs.vivaldi + ]; + + programs.chromium = { + enable = true; + defaultSearchProviderSearchURL = "https://duckduckgo.com/?q={searchTerms}"; + extensions = [ + "ddkjiahejlhfcafbddmgiahcphecmpfh" + "ojigagjjcmnbplgdkggkkleckaohppok" + "jfedfbgedapdagkghmgibemcoggfppbb" + "jfedfbgedapdagkghmgibemcoggfppbb" + ]; + }; + }; +} + diff --git a/modules/features/discord.nix b/modules/features/discord.nix new file mode 100644 index 0000000..f2fd10c --- /dev/null +++ b/modules/features/discord.nix @@ -0,0 +1,13 @@ +{ + flake.nixosModules.discord = {pkgs, ...}: { + environment.systemPackages = [ + pkgs.vesktop + ]; + + + /* persistance.cache.directories = [ + ".config/vesktop" + ];*/ + + }; +} diff --git a/modules/features/firefox.nix b/modules/features/firefox.nix new file mode 100644 index 0000000..89994ad --- /dev/null +++ b/modules/features/firefox.nix @@ -0,0 +1,66 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.firefox = { pkgs, ... }: { + environment.systemPackages = [ + ]; + + programs.firefox = { + enable = true; + #package = pkgs.waterfox; + + policies = { + DisableTelemetry = true; + DisableFirefoxStudies = true; + EnableTrackingProtection = { + Value = true; + Locked = true; + Cryptomining = true; + Fingerprinting = true; + }; + DisablePocket = true; + DisableFirefoxAccounts = true; + DisableFirefoxScreenshots = true; + OverrideFirstRunPage = ""; + OverridePostUpdatePage = ""; + DontCheckDefaultBrowser = true; + DisplayBookmarksToolbar = "always"; + DisplayMenuBar = "default-off"; + SearchBar = "unified"; + + ExtensionSettings = { + "*".installation_mode = "blocked"; + "jid1-NIfFY2CA8fy1tg@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/adblock-for-firefox/addon-10996236-latest.xpi"; + installation_mode = "force_installed"; + }; + "jid1-q4sG8pYhq8KGHs@jetpack" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/adblock-for-youtube/addon-11285580-latest.xpi"; + installation_mode = "force_installed"; + }; + "xifangczy@gmail.com" = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/cat-catch/addon-13478803-latest.xpi"; + installation_mode = "force_installed"; + }; + }; + + Preferences = { + "widget.use-xdg-desktop-portal" = { Value = true; }; + "widget.use-xdg-desktop-portal.file-picker" = { Value = 1; }; + "browser.contentblocking.category" = { Value = "strict"; status = "locked"; }; + "extensions.pocket.enabled" = { Value = false; status = "locked"; }; + "extensions.screenshots.disabled" = { Value = true; status = "locked"; }; + "browser.topsites.contile.enabled" = { Value = false; status = "locked"; }; + "browser.formfill.enable" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.feeds.section.topstories" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.feeds.section.snippets" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.section.highlights.includePocket" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.section.highlights.includeDownloads" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.section.highlights.includeVisited" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.showSponsored" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.system.showSponsored" = { Value = false; status = "locked"; }; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = { Value = false; status = "locked"; }; + }; + }; + }; + }; +} diff --git a/modules/features/git.nix b/modules/features/git.nix new file mode 100644 index 0000000..d6d625a --- /dev/null +++ b/modules/features/git.nix @@ -0,0 +1,22 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.git = { pkgs, ... }: { + imports = [ + self.nixosModules.gnupg + ]; + + programs.git = { + enable = true; + config.user = { + name = "Asdam9"; + }; + }; + }; + + flake.nixosModules.gnupg = { pkgs, ... }: { + programs.gnupg.agent = { + enable = true; + enableSSHSupport = true; + pinentryPackage = pkgs.pinentry-rofi; + }; + }; +} diff --git a/modules/features/hjem.nix b/modules/features/hjem.nix new file mode 100644 index 0000000..ed769e7 --- /dev/null +++ b/modules/features/hjem.nix @@ -0,0 +1,21 @@ +{inputs, ...}: { + flake.nixosModules.hjem = {config, ...}: let + user = config.preferences.user.name; + in { + imports = [ + inputs.hjem.nixosModules.default + ]; + + config = { + hjem = { + users."${user}" = { + enable = true; + directory = "/home/${user}"; + user = "${user}"; + }; + + clobberByDefault = true; + }; + }; + }; +} diff --git a/modules/features/keepmenu.nix b/modules/features/keepmenu.nix new file mode 100644 index 0000000..b2cf385 --- /dev/null +++ b/modules/features/keepmenu.nix @@ -0,0 +1,7 @@ +{ pkgs, inputs, ... }: { + flake.nixosModules.keepmenu = {pkgs, ...}: { + environment.systemPackages = with pkgs; [ + keepmenu + ]; + }; +} diff --git a/modules/features/lf.nix b/modules/features/lf.nix new file mode 100644 index 0000000..7f4c7bb --- /dev/null +++ b/modules/features/lf.nix @@ -0,0 +1,79 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.lf = { pkgs, ... }: let + selfpkgs = self.packages."${pkgs.stdenv.hostPlatform.system}"; + in { + environment.systemPackages = [ + selfpkgs.mylf + ]; + }; + + perSystem = { pkgs, ... }: let + conf = + pkgs.writeText "config" + '' + set reverse true + set preview true + set hidden true + #set drawbox true + #set icons true + set ignorecase true + + cmd stripspace %stripscpase "$f" + + map "\"" + map o + map d + map e + map f + map . set hidden! + map D delete + map p paste + map dd cut + map y copy + map ` mark-load + map \' mark-load + map open + map a rename + map r reload + map C clear + map U unselect + + map do drag-out + map g~ cd + map gh cd + map g/ / + map gd cd ~/Downloads + map gt cd /tmp + map gv cd ~/Videos + map go cd ~/Documents + map gc cd ~/.config + map gn cd ~/Documents/MyNixOs + map gp cd ~/Documents/Projects + map gs cd ~/.local/share + map gm cd /run/media + map gH cd /persist/users/$HOME + + map eE $ $EDITOR "$f" + map ee $ ${lib.getExe pkgs.direnv} exec . $EDITOR "$f" + map e. $ ${lib.getExe pkgs.direnv} exec . $EDITOR . + # map V $ ${lib.getExe pkgs.bat} --paging-always --theme=gruvbox "$f" + map do $ ${lib.getExe pkgs.ripdrag} -a -x "$fx" + + map 5j + map 5k + + setlocal ~/Documents/Projects sortby time + setlocal ~/Documents/Projects/* sortby time + setlocal ~/Downloads/ sortby time + ''; + in { + packages.mylf = inputs.wrappers.lib.wrapPackage { + inherit pkgs; + package = pkgs.lf; + flags = { + "-config" = "${conf}"; + }; + }; + }; + +} diff --git a/modules/features/neovim/lua/init.lua b/modules/features/neovim/lua/init.lua new file mode 100644 index 0000000..98a0172 --- /dev/null +++ b/modules/features/neovim/lua/init.lua @@ -0,0 +1,2 @@ +require("navi") +require('lz.n').load('plugins') diff --git a/modules/features/neovim/lua/navi/colors.lua b/modules/features/neovim/lua/navi/colors.lua new file mode 100644 index 0000000..3a5a081 --- /dev/null +++ b/modules/features/neovim/lua/navi/colors.lua @@ -0,0 +1,10 @@ +function ColorMyPencils(color) + require('kanagawa').setup({ + transparent = true, + }) + + color = color or "kanagawa" + vim.cmd.colorscheme(color) +end + +ColorMyPencils() diff --git a/modules/features/neovim/lua/navi/init.lua b/modules/features/neovim/lua/navi/init.lua new file mode 100644 index 0000000..35fa169 --- /dev/null +++ b/modules/features/neovim/lua/navi/init.lua @@ -0,0 +1,7 @@ +require("navi.remap") +require("navi.set") +require("navi.colors") + + +--require("navi.lazy") + diff --git a/modules/features/neovim/lua/navi/lazy.lua b/modules/features/neovim/lua/navi/lazy.lua new file mode 100644 index 0000000..1292e6f --- /dev/null +++ b/modules/features/neovim/lua/navi/lazy.lua @@ -0,0 +1,62 @@ +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +return require('lazy').setup({ + { + 'nvim-telescope/telescope.nvim', tag = '0.1.8', + -- or , branch = '0.1.x', + dependencies = { {'nvim-lua/plenary.nvim'} } + }, + "rebelot/kanagawa.nvim", + { + 'nvim-treesitter/nvim-treesitter', + build = ':TSUpdate' + }, + 'nvim-treesitter/playground', + 'theprimeagen/harpoon', + 'mbbill/undotree', + 'tpope/vim-fugitive', + --'github/copilot.vim', + --'vimwiki/vimwiki', + { + "supermaven-inc/supermaven-nvim", + config = function() + require("supermaven-nvim").setup({}) + end, + }, + { + 'VonHeikemen/lsp-zero.nvim', + branch = 'v3.x', + dependencies = { + {'neovim/nvim-lspconfig'}, + {'williamboman/mason.nvim'}, + {'williamboman/mason-lspconfig.nvim'}, + {'hrsh7th/nvim-cmp'}, + {'hrsh7th/cmp-buffer'}, + {'hrsh7th/cmp-path'}, + {'saadparwaiz1/cmp_luasnip'}, + {'hrsh7th/cmp-nvim-lsp'}, + {'hrsh7th/cmp-nvim-lua'}, + {'L3MON4D3/LuaSnip'}, + } + }, + { + 'serenevoid/kiwi.nvim', + dependencies = { {'nvim-lua/plenary.nvim'} } + }, + +}) diff --git a/modules/features/neovim/lua/navi/remap.lua b/modules/features/neovim/lua/navi/remap.lua new file mode 100644 index 0000000..160f8da --- /dev/null +++ b/modules/features/neovim/lua/navi/remap.lua @@ -0,0 +1,27 @@ +vim.g.mapleader = " " + +vim.keymap.set("n", "pv", vim.cmd.Ex) +vim.keymap.set("n", "", ":w! | !compiler %") + +vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) + +vim.keymap.set("v", "J", ":m '>+1gv=gv") +vim.keymap.set("v", "K", ":m '<-2gv=gv") + + +vim.keymap.set("n", "J", "mzJ`z") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "n", "nzzzv") +vim.keymap.set("n", "N", "Nzzzv") + +--vim.keymap.set("x", "p", "\"_dP") + +vim.keymap.set("n", "y", "\"+y") +vim.keymap.set("v", "y", "\"+y") +vim.keymap.set("n", "Y", "\"+Y") + +vim.keymap.set("n", "Q", "") + +vim.keymap.set("n", "s", ":%s/\\<\\>//gI") + diff --git a/modules/features/neovim/lua/navi/set.lua b/modules/features/neovim/lua/navi/set.lua new file mode 100644 index 0000000..f9d4cab --- /dev/null +++ b/modules/features/neovim/lua/navi/set.lua @@ -0,0 +1,33 @@ +vim.opt.nu = true +vim.opt.relativenumber = true +vim.cmd("autocmd BufEnter * setlocal formatoptions-=cro") -- No good way of doing this with lua + +vim.opt.tabstop = 4 +vim.opt.softtabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.expandtab = true +vim.opt.smartindent = true +vim.opt.smartcase = true +vim.opt.ignorecase = true +vim.opt.wrap = false +vim.opt.updatetime = 300 +vim.opt.termguicolors = true +vim.opt.mouse = "a" +vim.opt.cursorline = true +vim.opt.pumheight = 16 +vim.opt.winborder = "single" +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir" +vim.opt.undofile = true +vim.opt.hlsearch = false +vim.opt.incsearch = true +vim.opt.termguicolors = true +vim.opt.scrolloff = 8 +vim.opt.scroll = 6 +vim.opt.signcolumn = "yes" +vim.opt.isfname:append("@-@") +vim.opt.updatetime = 50 +vim.opt.colorcolumn = "80" + +vim.g.mapleader = " " diff --git a/modules/features/neovim/lua/plugins/fugitive.lua b/modules/features/neovim/lua/plugins/fugitive.lua new file mode 100644 index 0000000..0121518 --- /dev/null +++ b/modules/features/neovim/lua/plugins/fugitive.lua @@ -0,0 +1,6 @@ +return { + "vim-fugitive", + after = function() + vim.keymap.set("n", "gs", vim.cmd.Git) + end +} diff --git a/modules/features/neovim/lua/plugins/undotree.lua b/modules/features/neovim/lua/plugins/undotree.lua new file mode 100644 index 0000000..6b1b3ef --- /dev/null +++ b/modules/features/neovim/lua/plugins/undotree.lua @@ -0,0 +1,7 @@ +return { + "undotree", + after = function () + vim.keymap.set("n", "u", vim.cmd.UndotreeToggle) + vim.g.undotree_UndoDir = ".local/share/nvim/" + end +} diff --git a/modules/features/neovim/neovim.nix b/modules/features/neovim/neovim.nix new file mode 100644 index 0000000..ba4892b --- /dev/null +++ b/modules/features/neovim/neovim.nix @@ -0,0 +1,111 @@ +{ inputs, self, ... }: { + flake.nixosModules.neovim = { pkgs, ... }: let + selfpkgs = self.packages."${pkgs.stdenv.hostPlatform.system}"; + in { + programs.neovim.defaultEditor = true; + environment.systemPackages = [ + selfpkgs.neovim + ]; + }; + + flake.modules.neovim.main = { config, wlib, lib, pkgs, ... }: { + + options = { + dynamicMode = lib.mkOption { + type = lib.types.bool; + default = false; + description = '' + If true, use impure config instead for fast edits + + Both versions of the package may be installed simultaneously + ''; + }; + initLua = lib.mkOption { + type = wlib.types.stringable; + default = ./.; + }; + dynamicInitLua = lib.mkOption { + type = lib.types.either wlib.types.stringable lib.types.luaInline; + default = lib.generators.mkLuaInline "vim.uv.os_homedir() .. '/Documents/MyNixOs/modules/features/neovim'"; + }; + }; + config = { + settings.config_directory = + if config.dynamicMode + then config.dynamicInitLua + else config.initLua; + + extraPackages = [ + pkgs.ffmpeg-full + pkgs.wl-clipboard + ]; + + + specs.init = { + data = null; + before = ["MAIN_INIT"]; + config = "require('init')"; + }; + + specs.plugins = { + data = [ + pkgs.vimPlugins.lz-n + pkgs.vimPlugins.plenary-nvim + pkgs.vimPlugins.nvim-lspconfig + pkgs.vimPlugins.nvim-treesitter.withAllGrammars + + pkgs.vimPlugins.nvim-web-devicons + pkgs.vimPlugins.lspkind-nvim + pkgs.vimPlugins.colorful-menu-nvim + pkgs.vimPlugins.blink-cmp + + pkgs.vimPlugins.snacks-nvim + pkgs.vimPlugins.oil-nvim + pkgs.vimPlugins.lualine-nvim + pkgs.vimPlugins.luasnip + pkgs.vimPlugins.kanagawa-nvim + #pkgs.vimPlugins.telescope-nvim + #pkgs.vimPlugins.kiwi-nvim + ]; + }; + + specs.lazyPlugins = { + lazy = true; + data = [ + pkgs.vimPlugins.lazydev-nvim + pkgs.vimPlugins.gitsigns-nvim + pkgs.vimPlugins.nvim-autopairs + pkgs.vimPlugins.fastaction-nvim + pkgs.vimPlugins.mini-files + pkgs.vimPlugins.codecompanion-nvim + pkgs.vimPlugins.harpoon + pkgs.vimPlugins.undotree + pkgs.vimPlugins.vim-fugitive + ]; + }; + }; + }; + + + perSystem = {pkgs, self', ... }: { + packages.neovim = inputs.wrapper-modules.wrappers.neovim.wrap { + inherit pkgs; + imports = [ + self.modules.neovim.main + #self.modules.neovim.lua + #self.modules.neovim.nix + ]; + }; + + packages.neovimFull = inputs.wrapper-modules.wrappers.neovim.wrap { + inherit pkgs; + dynamicMode = true; + imports = [ + self.modules.neovim.main + #self.modules.neovim.allServers + ]; + }; + }; + + +} diff --git a/modules/features/nh.nix b/modules/features/nh.nix new file mode 100644 index 0000000..566bb90 --- /dev/null +++ b/modules/features/nh.nix @@ -0,0 +1,15 @@ +{ + flake.nixosModules.nh = {pkgs, config, ...}: let + user = config.preferences.user.name; + in { + programs.nh = { + enable = true; + clean = { + enable = true; + extraArgs = "--keep-since 30d --keep 15"; + }; + flake = "/home/${user}/Documents/MyNixOS/#laptop"; + }; + }; +} + diff --git a/modules/features/niri.nix b/modules/features/niri.nix new file mode 100644 index 0000000..38688ac --- /dev/null +++ b/modules/features/niri.nix @@ -0,0 +1,189 @@ +{ self, inputs, ... }: { + flake.nixosModules.niri = { pkgs, lib, ... }: { + environment.systemPackages = [ + pkgs.wl-clipboard + pkgs.clipman + ]; + + programs.niri = { + enable = true; + package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri; + }; + }; + + flake.nixosModules.tuigreet = { pkgs, lib, ... }: { + environment.systemPackages = with pkgs; [ + tuigreet + ]; + + + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd niri"; + }; + }; + + }; + }; + + perSystem = { pkgs, lib, self', ... }: { + packages.myNiri = inputs.wrapper-modules.wrappers.niri.wrap { + inherit pkgs; + settings = { + spawn-at-startup = [ + (lib.getExe self'.packages.myNoctalia) + ]; + + prefer-no-csd = true; + + xwayland-satellite.path = lib.getExe pkgs.xwayland-satellite; + + input = { + keyboard = { + xkb.layout = "us,dk"; + xkb.options = "caps:escape,grp:win_space_toggle"; + repeat-rate = 25; + repeat-delay = 300; + }; + }; + extraConfig = '' + gestures { + hot-corners { + off + } + } + ''; + + + window-rules = [ + { + matches = [ { is-focused = false; } ]; + default-column-width = { proportion = 1.; }; + opacity = 0.65; + } + { + matches = [ + { app-id = "firefox"; } + { app-id = "discord"; } + ]; + default-column-width = { proportion = 1.; }; + opacity = 1.; + } + { + matches = [ { app-id = "Alacritty"; } ]; + excludes = [ { is-focused = false; } ]; + opacity = .90; + } + ]; + + + + screenshot-path = "~/Pictures/Screenshots/screenshot-%Y-%m-%d-%H-%M-%S.png"; + hotkey-overlay.skip-at-startup = true; + + layout = { + gaps = 15; + border.off = {}; + focus-ring.off = {}; + preset-column-widths = [ + { proportion = 1.; } + { proportion = 1. / 2.; } + { proportion = 1. / 3.; } + { proportion = 2. / 3.; } + ]; + default-column-width = { proportion = 1. / 2.; }; + center-focused-column = "never"; #"on-overflow"; "always"; + default-column-display = "normal"; #"tabbed"; + }; + + binds = { + "Mod+Return".spawn-sh = lib.getExe self'.packages.myAlacritty; + "Mod+Shift+Slash".show-hotkey-overlay = {}; + "Mod+Shift+C".close-window = {}; + "Mod+Shift+Q".quit = {}; + "Mod+O".toggle-overview = {}; + + "Mod+Left".focus-column-left = {}; + "Mod+Down".focus-window-down = {}; + "Mod+Up".focus-window-up = {}; + "Mod+Right".focus-column-right = {}; + "Mod+Ctrl+Left".move-column-left = {}; + "Mod+Ctrl+Down".move-window-down = {}; + "Mod+Ctrl+Up".move-window-up = {}; + "Mod+Ctrl+Right".move-column-right = {}; + "Mod+H".focus-column-left = {}; + "Mod+J".focus-window-down = {}; + "Mod+K".focus-window-up = {}; + "Mod+L".focus-column-right = {}; + "Mod+Ctrl+H".move-column-left = {}; + "Mod+Ctrl+J".move-window-down = {}; + "Mod+Ctrl+K".move-window-up = {}; + "Mod+Ctrl+L".move-column-right = {}; + "Mod+Ctrl+Shift+j".move-workspace-down = {}; + "Mod+Ctrl+Shift+k".move-workspace-up = {}; + "Mod+U".focus-workspace-down = {}; + "Mod+I".focus-workspace-up = {}; + "Mod+Ctrl+U".move-column-to-workspace-down = {}; + "Mod+Ctrl+I".move-column-to-workspace-up = {}; + "Mod+R".switch-preset-column-width = {}; + + + "Mod+1".focus-workspace = 1; + "Mod+2".focus-workspace = 2; + "Mod+3".focus-workspace = 3; + "Mod+4".focus-workspace = 4; + "Mod+5".focus-workspace = 5; + "Mod+6".focus-workspace = 6; + "Mod+7".focus-workspace = 7; + "Mod+8".focus-workspace = 8; + "Mod+9".focus-workspace = 9; + "Mod+Ctrl+1".move-column-to-workspace = 1; + "Mod+Ctrl+2".move-column-to-workspace = 2; + "Mod+Ctrl+3".move-column-to-workspace = 3; + "Mod+Ctrl+4".move-column-to-workspace = 4; + "Mod+Ctrl+5".move-column-to-workspace = 5; + "Mod+Ctrl+6".move-column-to-workspace = 6; + "Mod+Ctrl+7".move-column-to-workspace = 7; + "Mod+Ctrl+8".move-column-to-workspace = 8; + "Mod+Ctrl+9".move-column-to-workspace = 9; + + "XF86AudioRaiseVolume".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call volume increase"; + "XF86AudioLowerVolume".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call volume decrease"; + "XF86AudioMute".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call volume muteOutput"; + + "XF86MonBrightnessUp".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call brightness increase"; + "XF86MonBrightnessDown".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call brightness decrease"; + + "XF86AudioPrev".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call media previous"; + "XF86AudioPlay".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call media playPause"; + "XF86AudioNext".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call media next"; + + "XF86AudioMedia".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call systemMonitor toggle"; + + + "Mod+Comma".consume-window-into-column = {}; + "Mod+Period".expel-window-from-column = {}; + "Mod+BracketLeft".consume-or-expel-window-left = {}; + "Mod+BracketRight".consume-or-expel-window-right = {}; + "Mod+F".maximize-column = {}; + "Mod+Shift+F".fullscreen-window = {}; + "Mod+W".toggle-column-tabbed-display = {}; + "Mod+V".toggle-window-floating = {}; + "Mod+Shift+V".switch-focus-between-floating-and-tiling = {}; + + "Print".screenshot = {}; + "Mod+Print".screenshot-window = {}; + "Mod+Shift+Print".screenshot-screen = {}; + + "Mod+Shift+L".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call sessionMenu lockAndSuspend"; + "Mod+Shift+E".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher emoji"; + "Mod+Shift+Escape".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call sessionMenu toggle"; + "Mod+P".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher toggle"; + "Mod+Y".spawn-sh = "${lib.getExe self'.packages.myNoctalia} ipc call launcher clipboard"; + }; + }; + }; + }; +} diff --git a/modules/features/noctalia.json b/modules/features/noctalia.json new file mode 100644 index 0000000..6e588fc --- /dev/null +++ b/modules/features/noctalia.json @@ -0,0 +1,2111 @@ +{ + "settings": { + "settingsVersion": 59, + "bar": { + "barType": "simple", + "position": "top", + "monitors": [], + "density": "default", + "showOutline": false, + "showCapsule": true, + "capsuleOpacity": 1, + "capsuleColorKey": "none", + "widgetSpacing": 6, + "contentPadding": 2, + "fontScale": 1, + "enableExclusionZoneInset": true, + "backgroundOpacity": 0.93, + "useSeparateOpacity": false, + "marginVertical": 4, + "marginHorizontal": 4, + "frameThickness": 8, + "frameRadius": 12, + "outerCorners": false, + "hideOnOverview": false, + "displayMode": "always_visible", + "autoHideDelay": 500, + "autoShowDelay": 150, + "showOnWorkspaceSwitch": true, + "widgets": { + "left": [ + { + "colorizeSystemIcon": "none", + "customIconPath": "", + "enableColorization": false, + "icon": "rocket", + "iconColor": "none", + "id": "Launcher", + "useDistroLogo": false + }, + { + "clockColor": "none", + "customFont": "", + "formatHorizontal": "HH:mm ddd, MMM dd", + "formatVertical": "HH mm - dd MM", + "id": "Clock", + "tooltipFormat": "HH:mm ddd, MMM dd", + "useCustomFont": false + }, + { + "compactMode": true, + "diskPath": "/", + "iconColor": "none", + "id": "SystemMonitor", + "showCpuCores": false, + "showCpuFreq": false, + "showCpuTemp": true, + "showCpuUsage": true, + "showDiskAvailable": false, + "showDiskUsage": false, + "showDiskUsageAsPercent": false, + "showGpuTemp": false, + "showLoadAverage": false, + "showMemoryAsPercent": false, + "showMemoryUsage": true, + "showNetworkStats": false, + "showSwapUsage": false, + "textColor": "none", + "useMonospaceFont": true, + "usePadding": false + }, + { + "colorizeIcons": false, + "hideMode": "hidden", + "id": "ActiveWindow", + "maxWidth": 145, + "scrollingMode": "hover", + "showIcon": true, + "showText": true, + "textColor": "none", + "useFixedWidth": false + }, + { + "compactMode": false, + "hideMode": "hidden", + "hideWhenIdle": false, + "id": "MediaMini", + "maxWidth": 145, + "panelShowAlbumArt": true, + "scrollingMode": "hover", + "showAlbumArt": true, + "showArtistFirst": true, + "showProgressRing": true, + "showVisualizer": false, + "textColor": "none", + "useFixedWidth": false, + "visualizerType": "linear" + } + ], + "center": [ + { + "characterCount": 2, + "colorizeIcons": false, + "emptyColor": "secondary", + "enableScrollWheel": true, + "focusedColor": "primary", + "followFocusedScreen": false, + "fontWeight": "bold", + "groupedBorderOpacity": 1, + "hideUnoccupied": false, + "iconScale": 0.8, + "id": "Workspace", + "labelMode": "index", + "occupiedColor": "secondary", + "pillSize": 0.6, + "showApplications": false, + "showApplicationsHover": false, + "showBadge": true, + "showLabelsOnlyWhenOccupied": true, + "unfocusedIconsOpacity": 1 + } + ], + "right": [ + { + "blacklist": [], + "chevronColor": "none", + "colorizeIcons": false, + "drawerEnabled": true, + "hidePassive": false, + "id": "Tray", + "pinned": [] + }, + { + "hideWhenZero": false, + "hideWhenZeroUnread": false, + "iconColor": "none", + "id": "NotificationHistory", + "showUnreadBadge": true, + "unreadBadgeColor": "primary" + }, + { + "deviceNativePath": "__default__", + "displayMode": "icon-always", + "hideIfIdle": false, + "hideIfNotDetected": true, + "id": "Battery", + "showNoctaliaPerformance": false, + "showPowerProfiles": true + }, + { + "displayMode": "alwaysShow", + "iconColor": "none", + "id": "Volume", + "middleClickCommand": "pwvucontrol || pavucontrol", + "textColor": "none" + }, + { + "applyToAllMonitors": false, + "displayMode": "onhover", + "iconColor": "none", + "id": "Brightness", + "textColor": "none" + }, + { + "colorizeDistroLogo": false, + "colorizeSystemIcon": "none", + "customIconPath": "", + "enableColorization": false, + "icon": "noctalia", + "id": "ControlCenter", + "useDistroLogo": false + } + ] + }, + "mouseWheelAction": "none", + "reverseScroll": false, + "mouseWheelWrap": true, + "middleClickAction": "none", + "middleClickFollowMouse": false, + "middleClickCommand": "", + "rightClickAction": "controlCenter", + "rightClickFollowMouse": true, + "rightClickCommand": "", + "screenOverrides": [] + }, + "general": { + "avatarImage": "/home/adam/.face", + "dimmerOpacity": 0.2, + "showScreenCorners": false, + "forceBlackScreenCorners": false, + "scaleRatio": 1, + "radiusRatio": 1, + "iRadiusRatio": 1, + "boxRadiusRatio": 1, + "screenRadiusRatio": 1, + "animationSpeed": 1, + "animationDisabled": false, + "compactLockScreen": false, + "lockScreenAnimations": false, + "lockOnSuspend": true, + "showSessionButtonsOnLockScreen": true, + "showHibernateOnLockScreen": false, + "enableLockScreenMediaControls": false, + "enableShadows": true, + "enableBlurBehind": true, + "shadowDirection": "bottom_right", + "shadowOffsetX": 2, + "shadowOffsetY": 3, + "language": "", + "allowPanelsOnScreenWithoutBar": true, + "showChangelogOnStartup": false, + "telemetryEnabled": false, + "enableLockScreenCountdown": true, + "lockScreenCountdownDuration": 10000, + "autoStartAuth": false, + "allowPasswordWithFprintd": false, + "clockStyle": "custom", + "clockFormat": "hh\\nmm", + "passwordChars": false, + "lockScreenMonitors": [], + "lockScreenBlur": 0, + "lockScreenTint": 0, + "keybinds": { + "keyUp": [ + "Up" + ], + "keyDown": [ + "Down" + ], + "keyLeft": [ + "Left" + ], + "keyRight": [ + "Right" + ], + "keyEnter": [ + "Return", + "Enter" + ], + "keyEscape": [ + "Esc" + ], + "keyRemove": [ + "Del" + ] + }, + "reverseScroll": false, + "smoothScrollEnabled": false + }, + "ui": { + "fontDefault": "DejaVu Sans Mono", + "fontFixed": "DejaVu Sans Mono", + "fontDefaultScale": 0.75, + "fontFixedScale": 0.75, + "tooltipsEnabled": true, + "scrollbarAlwaysVisible": false, + "boxBorderEnabled": false, + "panelBackgroundOpacity": 0.93, + "translucentWidgets": true, + "panelsAttachedToBar": true, + "settingsPanelMode": "attached", + "settingsPanelSideBarCardStyle": false + }, + "location": { + "name": "Copenhagen", + "weatherEnabled": true, + "weatherShowEffects": true, + "weatherTaliaMascotAlways": false, + "useFahrenheit": false, + "use12hourFormat": false, + "showWeekNumberInCalendar": false, + "showCalendarEvents": true, + "showCalendarWeather": true, + "analogClockInCalendar": false, + "firstDayOfWeek": 1, + "hideWeatherTimezone": true, + "hideWeatherCityName": true, + "autoLocate": false + }, + "calendar": { + "cards": [ + { + "enabled": true, + "id": "calendar-header-card" + }, + { + "enabled": true, + "id": "calendar-month-card" + }, + { + "enabled": true, + "id": "weather-card" + } + ] + }, + "wallpaper": { + "enabled": true, + "overviewEnabled": false, + "directory": "/home/adam/Pictures/Wallpapers", + "monitorDirectories": [], + "enableMultiMonitorDirectories": false, + "showHiddenFiles": false, + "viewMode": "single", + "setWallpaperOnAllMonitors": true, + "linkLightAndDarkWallpapers": true, + "fillMode": "crop", + "fillColor": "#000000", + "useSolidColor": false, + "solidColor": "#1a1a2e", + "automationEnabled": false, + "wallpaperChangeMode": "random", + "randomIntervalSec": 300, + "transitionDuration": 1500, + "transitionType": [ + "fade", + "disc", + "stripes", + "wipe", + "pixelate", + "honeycomb" + ], + "skipStartupTransition": true, + "transitionEdgeSmoothness": 0.05, + "panelPosition": "follow_bar", + "hideWallpaperFilenames": false, + "useOriginalImages": false, + "overviewBlur": 0.4, + "overviewTint": 0.6, + "useWallhaven": false, + "wallhavenQuery": "", + "wallhavenSorting": "relevance", + "wallhavenOrder": "desc", + "wallhavenCategories": "111", + "wallhavenPurity": "100", + "wallhavenRatios": "", + "wallhavenApiKey": "", + "wallhavenResolutionMode": "atleast", + "wallhavenResolutionWidth": "", + "wallhavenResolutionHeight": "", + "sortOrder": "name", + "favorites": [] + }, + "appLauncher": { + "enableClipboardHistory": false, + "autoPasteClipboard": false, + "enableClipPreview": true, + "clipboardWrapText": true, + "enableClipboardSmartIcons": true, + "enableClipboardChips": true, + "clipboardWatchTextCommand": "wl-paste --type text --watch cliphist store", + "clipboardWatchImageCommand": "wl-paste --type image --watch cliphist store", + "position": "center", + "pinnedApps": [], + "sortByMostUsed": true, + "terminalCommand": "alacritty -e", + "customLaunchPrefixEnabled": false, + "customLaunchPrefix": "", + "viewMode": "list", + "showCategories": true, + "iconMode": "tabler", + "showIconBackground": false, + "enableSettingsSearch": true, + "enableWindowsSearch": true, + "enableSessionSearch": true, + "ignoreMouseInput": false, + "screenshotAnnotationTool": "", + "overviewLayer": false, + "density": "compact" + }, + "controlCenter": { + "position": "close_to_bar_button", + "diskPath": "/", + "shortcuts": { + "left": [ + { + "id": "Network" + }, + { + "id": "Bluetooth" + }, + { + "id": "WallpaperSelector" + }, + { + "id": "NoctaliaPerformance" + } + ], + "right": [ + { + "id": "Notifications" + }, + { + "id": "PowerProfile" + }, + { + "id": "KeepAwake" + }, + { + "id": "NightLight" + } + ] + }, + "cards": [ + { + "enabled": true, + "id": "profile-card" + }, + { + "enabled": true, + "id": "shortcuts-card" + }, + { + "enabled": true, + "id": "audio-card" + }, + { + "enabled": true, + "id": "brightness-card" + }, + { + "enabled": true, + "id": "weather-card" + }, + { + "enabled": true, + "id": "media-sysmon-card" + } + ] + }, + "systemMonitor": { + "cpuWarningThreshold": 80, + "cpuCriticalThreshold": 90, + "tempWarningThreshold": 80, + "tempCriticalThreshold": 90, + "gpuWarningThreshold": 80, + "gpuCriticalThreshold": 90, + "memWarningThreshold": 80, + "memCriticalThreshold": 90, + "swapWarningThreshold": 80, + "swapCriticalThreshold": 90, + "diskWarningThreshold": 80, + "diskCriticalThreshold": 90, + "diskAvailWarningThreshold": 20, + "diskAvailCriticalThreshold": 10, + "batteryWarningThreshold": 20, + "batteryCriticalThreshold": 5, + "enableDgpuMonitoring": false, + "useCustomColors": false, + "warningColor": "", + "criticalColor": "", + "externalMonitor": "resources || missioncenter || jdsystemmonitor || corestats || system-monitoring-center || gnome-system-monitor || plasma-systemmonitor || mate-system-monitor || ukui-system-monitor || deepin-system-monitor || pantheon-system-monitor" + }, + "noctaliaPerformance": { + "disableWallpaper": true, + "disableDesktopWidgets": true + }, + "dock": { + "enabled": false, + "position": "bottom", + "displayMode": "auto_hide", + "dockType": "floating", + "backgroundOpacity": 1, + "floatingRatio": 1, + "size": 1, + "onlySameOutput": true, + "monitors": [], + "pinnedApps": [], + "colorizeIcons": false, + "showLauncherIcon": false, + "launcherPosition": "end", + "launcherUseDistroLogo": false, + "launcherIcon": "", + "launcherIconColor": "none", + "pinnedStatic": false, + "inactiveIndicators": false, + "groupApps": false, + "groupContextMenuMode": "extended", + "groupClickAction": "cycle", + "groupIndicatorStyle": "dots", + "deadOpacity": 0.6, + "animationSpeed": 1, + "sitOnFrame": false, + "showDockIndicator": false, + "indicatorThickness": 3, + "indicatorColor": "primary", + "indicatorOpacity": 0.6 + }, + "network": { + "bluetoothRssiPollingEnabled": false, + "bluetoothRssiPollIntervalMs": 60000, + "networkPanelView": "wifi", + "wifiDetailsViewMode": "grid", + "bluetoothDetailsViewMode": "grid", + "bluetoothHideUnnamedDevices": false, + "disableDiscoverability": false, + "bluetoothAutoConnect": true + }, + "sessionMenu": { + "enableCountdown": false, + "countdownDuration": 10000, + "position": "center", + "showHeader": true, + "showKeybinds": true, + "largeButtonsStyle": true, + "largeButtonsLayout": "single-row", + "powerOptions": [ + { + "action": "lock", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "1" + }, + { + "action": "suspend", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "2" + }, + { + "action": "hibernate", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "3" + }, + { + "action": "reboot", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "4" + }, + { + "action": "logout", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "5" + }, + { + "action": "shutdown", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "6" + }, + { + "action": "rebootToUefi", + "command": "", + "countdownEnabled": true, + "enabled": true, + "keybind": "7" + }, + { + "action": "userspaceReboot", + "command": "", + "countdownEnabled": true, + "enabled": false, + "keybind": "" + } + ] + }, + "notifications": { + "enabled": true, + "enableMarkdown": false, + "density": "default", + "monitors": [ + "eDP-1" + ], + "location": "top_right", + "overlayLayer": true, + "backgroundOpacity": 0.5, + "respectExpireTimeout": false, + "lowUrgencyDuration": 3, + "normalUrgencyDuration": 8, + "criticalUrgencyDuration": 15, + "clearDismissed": true, + "saveToHistory": { + "low": true, + "normal": true, + "critical": true + }, + "sounds": { + "enabled": false, + "volume": 0.5, + "separateSounds": false, + "criticalSoundFile": "", + "normalSoundFile": "", + "lowSoundFile": "", + "excludedApps": "discord,firefox,chrome,chromium,edge" + }, + "enableMediaToast": false, + "enableKeyboardLayoutToast": true, + "enableBatteryToast": true + }, + "osd": { + "enabled": true, + "location": "top_right", + "autoHideMs": 2000, + "overlayLayer": true, + "backgroundOpacity": 1, + "enabledTypes": [ + 0, + 1, + 2 + ], + "monitors": [] + }, + "audio": { + "volumeStep": 5, + "volumeOverdrive": false, + "spectrumFrameRate": 30, + "visualizerType": "linear", + "spectrumMirrored": true, + "mprisBlacklist": [], + "preferredPlayer": "", + "volumeFeedback": false, + "volumeFeedbackSoundFile": "" + }, + "brightness": { + "brightnessStep": 5, + "enforceMinimum": true, + "enableDdcSupport": false, + "backlightDeviceMappings": [] + }, + "colorSchemes": { + "useWallpaperColors": false, + "predefinedScheme": "Catppuccin", + "darkMode": true, + "schedulingMode": "off", + "manualSunrise": "06:30", + "manualSunset": "18:30", + "generationMethod": "tonal-spot", + "monitorForColors": "", + "syncGsettings": true + }, + "templates": { + "activeTemplates": [], + "enableUserTheming": false + }, + "nightLight": { + "enabled": false, + "forced": false, + "autoSchedule": true, + "nightTemp": "4000", + "dayTemp": "6500", + "manualSunrise": "06:30", + "manualSunset": "18:30" + }, + "hooks": { + "enabled": false, + "wallpaperChange": "", + "darkModeChange": "", + "screenLock": "", + "screenUnlock": "", + "performanceModeEnabled": "", + "performanceModeDisabled": "", + "startup": "", + "session": "", + "colorGeneration": "" + }, + "plugins": { + "autoUpdate": false, + "notifyUpdates": true + }, + "idle": { + "enabled": true, + "screenOffTimeout": 600, + "lockTimeout": 660, + "suspendTimeout": 1800, + "fadeDuration": 5, + "screenOffCommand": "", + "lockCommand": "", + "suspendCommand": "", + "resumeScreenOffCommand": "", + "resumeLockCommand": "", + "resumeSuspendCommand": "", + "customCommands": "[]" + }, + "desktopWidgets": { + "enabled": false, + "overviewEnabled": true, + "gridSnap": false, + "gridSnapScale": false, + "monitorWidgets": [] + } + }, + "state": { + "doNotDisturb": false, + "noctaliaPerformanceMode": false, + "barVisible": true, + "openedPanel": "", + "lockScreenActive": false, + "wallpapers": { + "eDP-1": "/nix/store/7j4a02nkk4ilda585jbjgg9f9i9b4ibb-noctalia-shell-4.7.5/share/noctalia-shell/Assets/Wallpaper/noctalia.png" + }, + "desktopWidgetsEditMode": false, + "display": { + "eDP-1": { + "name": "eDP-1", + "connected": true, + "scale": 1.5, + "width": 1504, + "height": 1002, + "x": 0, + "y": 0, + "physical_width": 280, + "physical_height": 190, + "refresh_rate": 59999, + "vrr_supported": false, + "vrr_enabled": false, + "transform": "Normal" + } + }, + "notificationsState": { + "lastSeenTs": 1775773643000 + }, + "changelogState": { + "lastSeenVersion": "v4.7.5" + }, + "colorSchemesList": { + "schemes": [ + { + "dark": { + "mError": "#c01c28", + "mHover": "#3584e4", + "mOnError": "#ffffff", + "mOnHover": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#ffffff", + "mOnSurfaceVariant": "#ffffff", + "mOnTertiary": "#2e3436", + "mOutline": "#3d3846", + "mPrimary": "#3584e4", + "mSecondary": "#1b467c", + "mShadow": "#000000", + "mSurface": "#242424", + "mSurfaceVariant": "#1e1e1e", + "mTertiary": "#ffffff" + }, + "light": { + "mError": "#e01b24", + "mHover": "#3584e4", + "mOnError": "#ffffff", + "mOnHover": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#2e3436", + "mOnSurfaceVariant": "#2e3436", + "mOnTertiary": "#ffffff", + "mOutline": "#d6d6d6", + "mPrimary": "#3584e4", + "mSecondary": "#2e3436", + "mShadow": "#000000", + "mSurface": "#fafafa", + "mSurfaceVariant": "#ffffff", + "mTertiary": "#2ec27e" + }, + "name": "ADW", + "path": "ADW" + }, + { + "dark": { + "mError": "#da4453", + "mHover": "#3daee9", + "mOnError": "#141618", + "mOnHover": "#141618", + "mOnPrimary": "#141618", + "mOnSecondary": "#141618", + "mOnSurface": "#fcfcfc", + "mOnSurfaceVariant": "#a1a9b1", + "mOnTertiary": "#141618", + "mOutline": "#707d8a", + "mPrimary": "#3daee9", + "mSecondary": "#1d99f3", + "mShadow": "#272c31", + "mSurface": "#202224", + "mSurfaceVariant": "#292d32", + "mTertiary": "#9b59b6" + }, + "light": { + "mError": "#da4453", + "mHover": "#3daee9", + "mOnError": "#ffffff", + "mOnHover": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#232629", + "mOnSurfaceVariant": "#707d8a", + "mOnTertiary": "#ffffff", + "mOutline": "#e3e5e7", + "mPrimary": "#3daee9", + "mSecondary": "#2980b9", + "mShadow": "#e3e5e7", + "mSurface": "#ffffff", + "mSurfaceVariant": "#eff0f1", + "mTertiary": "#9b59b6" + }, + "name": "Breeze", + "path": "Breeze" + }, + { + "dark": { + "mError": "#f38ba8", + "mHover": "#c6a0f6", + "mOnError": "#11111b", + "mOnHover": "#11111b", + "mOnPrimary": "#11111b", + "mOnSecondary": "#11111b", + "mOnSurface": "#cdd6f4", + "mOnSurfaceVariant": "#a3b4eb", + "mOnTertiary": "#11111b", + "mOutline": "#4c4f69", + "mPrimary": "#b4befe", + "mSecondary": "#f5bde6", + "mShadow": "#11111b", + "mSurface": "#1e1e2e", + "mSurfaceVariant": "#313244", + "mTertiary": "#c6a0f6" + }, + "light": { + "mError": "#d20f39", + "mHover": "#d20f39", + "mOnError": "#dce0e8", + "mOnHover": "#eff1f5", + "mOnPrimary": "#eff1f5", + "mOnSecondary": "#eff1f5", + "mOnSurface": "#4c4f69", + "mOnSurfaceVariant": "#6c6f85", + "mOnTertiary": "#eff1f5", + "mOutline": "#a5adcb", + "mPrimary": "#1e66f5", + "mSecondary": "#ea76cb", + "mShadow": "#dce0e8", + "mSurface": "#eff1f5", + "mSurfaceVariant": "#ccd0da", + "mTertiary": "#8839ef" + }, + "name": "Catppuccin Lavender", + "path": "Catppuccin Lavender" + }, + { + "dark": { + "mError": "#EC8A92", + "mHover": "#F4D86A", + "mOnError": "#2A1B21", + "mOnHover": "#2A1B21", + "mOnPrimary": "#2A1B21", + "mOnSecondary": "#2A1B21", + "mOnSurface": "#F3C7D7", + "mOnSurfaceVariant": "#EFDCE8", + "mOnTertiary": "#2A1B21", + "mOutline": "#5C1A28", + "mPrimary": "#F2C1D4", + "mSecondary": "#FFD6E2", + "mShadow": "#4F3A47", + "mSurface": "#2A1922", + "mSurfaceVariant": "#4D3745", + "mTertiary": "#D4A3BD" + }, + "light": { + "mError": "#E6687C", + "mHover": "#FFD970", + "mOnError": "#6F4E63", + "mOnHover": "#2A1B21", + "mOnPrimary": "#F7E2EB", + "mOnSecondary": "#2A1B21", + "mOnSurface": "#2A1B21", + "mOnSurfaceVariant": "#6F4E63", + "mOnTertiary": "#FAE8F0", + "mOutline": "#2A1B21", + "mPrimary": "#6F4E63", + "mSecondary": "#F2C1D4", + "mShadow": "#FCEFF5", + "mSurface": "#F7E6EE", + "mSurfaceVariant": "#F9EDF3", + "mTertiary": "#8F6A7C" + }, + "name": "Cherry Blossom", + "path": "Cherry Blossom" + }, + { + "dark": { + "mError": "#ea6962", + "mHover": "#a9b665", + "mOnError": "#282828", + "mOnHover": "#282828", + "mOnPrimary": "#282828", + "mOnSecondary": "#282828", + "mOnSurface": "#d4be98", + "mOnSurfaceVariant": "#a89984", + "mOnTertiary": "#282828", + "mOutline": "#504945", + "mPrimary": "#a9b665", + "mSecondary": "#d8a657", + "mShadow": "#000000", + "mSurface": "#282828", + "mSurfaceVariant": "#32302f", + "mTertiary": "#7db2ba" + }, + "light": { + "mError": "#c14a4a", + "mHover": "#626b1e", + "mOnError": "#fbf1c7", + "mOnHover": "#fbf1c7", + "mOnPrimary": "#fbf1c7", + "mOnSecondary": "#fbf1c7", + "mOnSurface": "#282828", + "mOnSurfaceVariant": "#665c54", + "mOnTertiary": "#fbf1c7", + "mOutline": "#5a5247", + "mPrimary": "#626b1e", + "mSecondary": "#a06b00", + "mShadow": "#bdae93", + "mSurface": "#fbf1c7", + "mSurfaceVariant": "#ebdbb2", + "mTertiary": "#3d6b72" + }, + "name": "Cream", + "path": "Cream" + }, + { + "dark": { + "mError": "#ea6962", + "mHover": "#e0a84a", + "mOnError": "#282828", + "mOnHover": "#282828", + "mOnPrimary": "#282828", + "mOnSecondary": "#282828", + "mOnSurface": "#d4be98", + "mOnSurfaceVariant": "#a89984", + "mOnTertiary": "#282828", + "mOutline": "#504945", + "mPrimary": "#e0a84a", + "mSecondary": "#89b482", + "mShadow": "#000000", + "mSurface": "#282828", + "mSurfaceVariant": "#32302f", + "mTertiary": "#7db2ba" + }, + "light": { + "mError": "#c14a4a", + "mHover": "#b47109", + "mOnError": "#fbf1c7", + "mOnHover": "#fbf1c7", + "mOnPrimary": "#fbf1c7", + "mOnSecondary": "#fbf1c7", + "mOnSurface": "#282828", + "mOnSurfaceVariant": "#665c54", + "mOnTertiary": "#fbf1c7", + "mOutline": "#5a5247", + "mPrimary": "#b47109", + "mSecondary": "#4f5a2a", + "mShadow": "#bdae93", + "mSurface": "#fbf1c7", + "mSurfaceVariant": "#ebdbb2", + "mTertiary": "#3d6b72" + }, + "name": "Cream Autumn", + "path": "Cream Autumn" + }, + { + "dark": { + "mError": "#B32D2D", + "mHover": "#00A66C", + "mOnError": "#0E1015", + "mOnHover": "#0E1015", + "mOnPrimary": "#0E1015", + "mOnSecondary": "#0E1015", + "mOnSurface": "#5C8AC4", + "mOnSurfaceVariant": "#9B6BC1", + "mOnTertiary": "#0E1015", + "mOutline": "#45A0D6", + "mPrimary": "#C4A82E", + "mSecondary": "#D14358", + "mShadow": "#090D13", + "mSurface": "#0C1017", + "mSurfaceVariant": "#11151D", + "mTertiary": "#00A66C" + }, + "light": { + "mError": "#E63E5D", + "mHover": "#45D395", + "mOnError": "#1A1914", + "mOnHover": "#1A1914", + "mOnPrimary": "#1A1914", + "mOnSecondary": "#1A1914", + "mOnSurface": "#1A1914", + "mOnSurfaceVariant": "#1A1914", + "mOnTertiary": "#1A1914", + "mOutline": "#7B52AB", + "mPrimary": "#00B8B3", + "mSecondary": "#D957A0", + "mShadow": "#B8D4E6", + "mSurface": "#DAE6E8", + "mSurfaceVariant": "#C8DEE6", + "mTertiary": "#45D395" + }, + "name": "Cyberpunk", + "path": "Cyberpunk" + }, + { + "dark": { + "mError": "#ff6b5a", + "mHover": "#2d3139", + "mOnError": "#1c1e1e", + "mOnHover": "#fffcf8", + "mOnPrimary": "#1c1e1e", + "mOnSecondary": "#1c1e1e", + "mOnSurface": "#fffcf8", + "mOnSurfaceVariant": "#bbc2cf", + "mOnTertiary": "#1c1e1e", + "mOutline": "#3f444a", + "mPrimary": "#51afef", + "mSecondary": "#f2c481", + "mShadow": "#111212", + "mSurface": "#1c1e1e", + "mSurfaceVariant": "#282c34", + "mTertiary": "#98be65" + }, + "light": { + "mError": "#e45649", + "mHover": "#51afef", + "mOnError": "#fafafa", + "mOnHover": "#f0f0f0", + "mOnPrimary": "#fafafa", + "mOnSecondary": "#fafafa", + "mOnSurface": "#383a42", + "mOnSurfaceVariant": "#2e2e2e", + "mOnTertiary": "#fafafa", + "mOutline": "#c6c7c7", + "mPrimary": "#4078f2", + "mSecondary": "#ea9558", + "mShadow": "#f0f0f0", + "mSurface": "#f0f0f0", + "mSurfaceVariant": "#fafafa", + "mTertiary": "#50a14f" + }, + "name": "Doomed", + "path": "Doomed" + }, + { + "dark": { + "mError": "#ffb4ab", + "mHover": "#e9c258", + "mOnError": "#690005", + "mOnHover": "#3d2e00", + "mOnPrimary": "#621000", + "mOnSecondary": "#522216", + "mOnSurface": "#f4ded9", + "mOnSurfaceVariant": "#dfc0b8", + "mOnTertiary": "#3d2e00", + "mOutline": "#58423c", + "mPrimary": "#ffb4a3", + "mSecondary": "#ffb4a3", + "mShadow": "#000000", + "mSurface": "#1c110e", + "mSurfaceVariant": "#291d1a", + "mTertiary": "#e9c258" + }, + "light": { + "mError": "#ba1a1a", + "mHover": "#755b00", + "mOnError": "#ffffff", + "mOnHover": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#251916", + "mOnSurfaceVariant": "#58423c", + "mOnTertiary": "#ffffff", + "mOutline": "#dfc0b8", + "mPrimary": "#a03218", + "mSecondary": "#8a4e40", + "mShadow": "#000000", + "mSurface": "#fff8f6", + "mSurfaceVariant": "#ffe9e4", + "mTertiary": "#755b00" + }, + "name": "Everdeer", + "path": "Everdeer" + }, + { + "dark": { + "mError": "#E67E80", + "mHover": "#A7C080", + "mOnError": "#232A2E", + "mOnHover": "#232A2E", + "mOnPrimary": "#232A2E", + "mOnSecondary": "#232A2E", + "mOnSurface": "#859289", + "mOnSurfaceVariant": "#D3C6AA", + "mOnTertiary": "#232A2E", + "mOutline": "#7A8478", + "mPrimary": "#A7C080", + "mSecondary": "#D3C6AA", + "mShadow": "#475258", + "mSurface": "#232A2E", + "mSurfaceVariant": "#2D353B", + "mTertiary": "#9DA9A0" + }, + "light": { + "mError": "#E66868", + "mHover": "#333c43", + "mOnError": "#9DA9A0", + "mOnHover": "#9DA9A0", + "mOnPrimary": "#D3C6AA", + "mOnSecondary": "#D3C6AA", + "mOnSurface": "#232A2E", + "mOnSurfaceVariant": "#333C43", + "mOnTertiary": "#9DA9A0", + "mOutline": "#232A2E", + "mPrimary": "#434F55", + "mSecondary": "#232a2e", + "mShadow": "#ECF5ED", + "mSurface": "#9DA9A0", + "mSurfaceVariant": "#BEC5B2", + "mTertiary": "#333c43" + }, + "name": "Everforest", + "path": "Everforest" + }, + { + "dark": { + "mError": "#f85149", + "mHover": "#21262d", + "mOnError": "#010409", + "mOnHover": "#c9d1d9", + "mOnPrimary": "#010409", + "mOnSecondary": "#010409", + "mOnSurface": "#c9d1d9", + "mOnSurfaceVariant": "#8b949e", + "mOnTertiary": "#010409", + "mOutline": "#30363d", + "mPrimary": "#58a6ff", + "mSecondary": "#bc8cff", + "mShadow": "#010409", + "mSurface": "#010409", + "mSurfaceVariant": "#161b22", + "mTertiary": "#bc8cff" + }, + "light": { + "mError": "#cf222e", + "mHover": "#eaeef2", + "mOnError": "#ffffff", + "mOnHover": "#1f2328", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#1f2328", + "mOnSurfaceVariant": "#656d76", + "mOnTertiary": "#ffffff", + "mOutline": "#d0d7de", + "mPrimary": "#0969da", + "mSecondary": "#1a7f37", + "mShadow": "#ffffff", + "mSurface": "#ffffff", + "mSurfaceVariant": "#f6f8fa", + "mTertiary": "#8250df" + }, + "name": "GitHub Dark", + "path": "GitHub Dark" + }, + { + "dark": { + "mError": "#f43841", + "mHover": "#453d41", + "mOnError": "#101010", + "mOnHover": "#e4e4ef", + "mOnPrimary": "#181818", + "mOnSecondary": "#101010", + "mOnSurface": "#e4e4ef", + "mOnSurfaceVariant": "#95a99f", + "mOnTertiary": "#101010", + "mOutline": "#484848", + "mPrimary": "#ffdd33", + "mSecondary": "#96a6c8", + "mShadow": "#101010", + "mSurface": "#181818", + "mSurfaceVariant": "#282828", + "mTertiary": "#9e95c7" + }, + "light": { + "mError": "#c73c3f", + "mHover": "#d8d8e4", + "mOnError": "#ffffff", + "mOnHover": "#181818", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#181818", + "mOnSurfaceVariant": "#453d41", + "mOnTertiary": "#ffffff", + "mOutline": "#c8c8d0", + "mPrimary": "#5f627f", + "mSecondary": "#4a8a14", + "mShadow": "#f5f5f5", + "mSurface": "#f5f5f5", + "mSurfaceVariant": "#e4e4ef", + "mTertiary": "#7a6ea8" + }, + "name": "Gruber Darker", + "path": "Gruber Darker" + }, + { + "dark": { + "mError": "#fb4934", + "mHover": "#83a598", + "mOnError": "#282828", + "mOnHover": "#282828", + "mOnPrimary": "#282828", + "mOnSecondary": "#282828", + "mOnSurface": "#fbf1c7", + "mOnSurfaceVariant": "#ebdbb2", + "mOnTertiary": "#282828", + "mOutline": "#57514e", + "mPrimary": "#ebdbb2", + "mSecondary": "#8ec07c", + "mShadow": "#282828", + "mSurface": "#282828", + "mSurfaceVariant": "#3c3836", + "mTertiary": "#83a598" + }, + "light": { + "mError": "#cc241d", + "mHover": "#458588", + "mOnError": "#fbf1c7", + "mOnHover": "#fbf1c7", + "mOnPrimary": "#fbf1c7", + "mOnSecondary": "#fbf1c7", + "mOnSurface": "#3c3836", + "mOnSurfaceVariant": "#7c6f64", + "mOnTertiary": "#fbf1c7", + "mOutline": "#bdae93", + "mPrimary": "#3c3836", + "mSecondary": "#689d6a", + "mShadow": "#d5c4a1", + "mSurface": "#fbf1c7", + "mSurfaceVariant": "#ebddb2", + "mTertiary": "#458588" + }, + "name": "GruvboxAlt", + "path": "GruvboxAlt" + }, + { + "dark": { + "mError": "#ffb4ab", + "mOnError": "#690005", + "mOnPrimary": "#003916", + "mOnSecondary": "#233425", + "mOnSurface": "#dfe4dc", + "mOnSurfaceVariant": "#c1c9be", + "mOnTertiary": "#00363e", + "mOutline": "#8b9389", + "mPrimary": "#9ad4a1", + "mSecondary": "#b7ccb6", + "mShadow": "#000000", + "mSurface": "#101510", + "mSurfaceVariant": "#101510", + "mTertiary": "#a1ced8" + }, + "light": { + "mError": "#ba1a1a", + "mOnError": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#181d18", + "mOnSurfaceVariant": "#414941", + "mOnTertiary": "#ffffff", + "mOutline": "#727970", + "mPrimary": "#346940", + "mSecondary": "#506351", + "mShadow": "#000000", + "mSurface": "#d7dbd3", + "mSurfaceVariant": "#f6fbf2", + "mTertiary": "#39656d" + }, + "name": "Hexa34C", + "path": "Hexa34C" + }, + { + "dark": { + "mError": "#c4746e", + "mHover": "#363646", + "mOnError": "#1F1F28", + "mOnHover": "#DCD7BA", + "mOnPrimary": "#1F1F28", + "mOnSecondary": "#1F1F28", + "mOnSurface": "#DCD7BA", + "mOnSurfaceVariant": "#C8C093", + "mOnTertiary": "#1F1F28", + "mOutline": "#435965", + "mPrimary": "#c4b28a", + "mSecondary": "#8ea49e", + "mShadow": "#000000", + "mSurface": "#1F1F28", + "mSurfaceVariant": "#2A2A37", + "mTertiary": "#938AA9" + }, + "light": { + "mError": "#c27672", + "mHover": "#c9cdd7", + "mOnError": "#ffffff", + "mOnHover": "#4f5357", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#4f5357", + "mOnSurfaceVariant": "#666b70", + "mOnTertiary": "#ffffff", + "mOutline": "#8e8a80", + "mPrimary": "#6b7f9f", + "mSecondary": "#6f8795", + "mShadow": "#c8c5bd", + "mSurface": "#f2f1ec", + "mSurfaceVariant": "#e4e1d8", + "mTertiary": "#8b6e86" + }, + "name": "Kanagawa Paper", + "path": "Kanagawa Paper" + }, + { + "dark": { + "mError": "#ff6f9b", + "mOnError": "#000000", + "mOnPrimary": "#000000", + "mOnSecondary": "#000000", + "mOnSurface": "#e8d8ff", + "mOnSurfaceVariant": "#b58fff", + "mOnTertiary": "#000000", + "mOutline": "#4c3a70", + "mPrimary": "#b58fff", + "mSecondary": "#c79aff", + "mShadow": "#000000", + "mSurface": "#000000", + "mSurfaceVariant": "#110d1a", + "mTertiary": "#d8b4ff" + }, + "light": { + "mError": "#ff6f9b", + "mOnError": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#1a1428", + "mOnSurfaceVariant": "#8a56d4", + "mOnTertiary": "#ffffff", + "mOutline": "#9b85c2", + "mPrimary": "#8a56d4", + "mSecondary": "#a074ff", + "mShadow": "#e2d8f5", + "mSurface": "#fbf8ff", + "mSurfaceVariant": "#e8e0f8", + "mTertiary": "#c79aff" + }, + "name": "Lilac AMOLED", + "path": "Lilac AMOLED" + }, + { + "dark": { + "mError": "#b36d43", + "mOnError": "#222222", + "mOnPrimary": "#222222", + "mOnSecondary": "#222222", + "mOnSurface": "#c2c2b0", + "mOnSurfaceVariant": "#c9a554", + "mOnTertiary": "#222222", + "mOutline": "#666666", + "mPrimary": "#c9a554", + "mSecondary": "#b36d43", + "mShadow": "#1a1a1a", + "mSurface": "#222222", + "mSurfaceVariant": "#2a2a2a", + "mTertiary": "#bb7744" + }, + "light": { + "mError": "#b36d43", + "mOnError": "#fafaf5", + "mOnPrimary": "#fafaf5", + "mOnSecondary": "#fafaf5", + "mOnSurface": "#222222", + "mOnSurfaceVariant": "#b36d43", + "mOnTertiary": "#fafaf5", + "mOutline": "#999980", + "mPrimary": "#c9a554", + "mSecondary": "#b36d43", + "mShadow": "#d7d7d0", + "mSurface": "#fafaf5", + "mSurfaceVariant": "#e8e8e0", + "mTertiary": "#bb7744" + }, + "name": "Miasma", + "path": "Miasma" + }, + { + "dark": { + "mError": "#d94a59", + "mHover": "#2d2a2e", + "mOnError": "#1d1b1d", + "mOnHover": "#e1e2d5", + "mOnPrimary": "#1d1b1d", + "mOnSecondary": "#e1e2d5", + "mOnSurface": "#e1e2d5", + "mOnSurfaceVariant": "#e1e2d5", + "mOnTertiary": "#e1e2d5", + "mOutline": "#000023", + "mPrimary": "#e1e2d5", + "mSecondary": "#2d2a2e", + "mShadow": "#120f18", + "mSurface": "#1d1b1d", + "mSurfaceVariant": "#262427", + "mTertiary": "#2d2a2e" + }, + "light": { + "mError": "#d94a59", + "mHover": "#e6e4e8", + "mOnError": "#ffffff", + "mOnHover": "#1d1b1d", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#2d2a2e", + "mOnSurface": "#1d1b1d", + "mOnSurfaceVariant": "#3a3a3a", + "mOnTertiary": "#2d2a2e", + "mOutline": "#b8b6bb", + "mPrimary": "#3a3a34", + "mSecondary": "#e6e4e8", + "mShadow": "#00000020", + "mSurface": "#ffffff", + "mSurfaceVariant": "#f3f2f5", + "mTertiary": "#f0eef2" + }, + "name": "Mine", + "path": "Mine" + }, + { + "dark": { + "mError": "#dddddd", + "mHover": "#cccccc", + "mOnError": "#111111", + "mOnHover": "#111111", + "mOnPrimary": "#111111", + "mOnSecondary": "#111111", + "mOnSurface": "#828282", + "mOnSurfaceVariant": "#5d5d5d", + "mOnTertiary": "#111111", + "mOutline": "#3c3c3c", + "mPrimary": "#aaaaaa", + "mSecondary": "#a7a7a7", + "mShadow": "#000000", + "mSurface": "#111111", + "mSurfaceVariant": "#191919", + "mTertiary": "#cccccc" + }, + "light": { + "mError": "#222222", + "mHover": "#333333", + "mOnError": "#efefef", + "mOnHover": "#eeeeee", + "mOnPrimary": "#eeeeee", + "mOnSecondary": "#eeeeee", + "mOnSurface": "#696969", + "mOnSurfaceVariant": "#9e9e9e", + "mOnTertiary": "#eeeeee", + "mOutline": "#c3c3c3", + "mPrimary": "#555555", + "mSecondary": "#505058", + "mShadow": "#fafafa", + "mSurface": "#d4d4d4", + "mSurfaceVariant": "#e8e8e8", + "mTertiary": "#333333" + }, + "name": "Monochrome", + "path": "Monochrome" + }, + { + "dark": { + "mError": "#e80e4f", + "mHover": "#6f099a", + "mOnError": "#fee7ee", + "mOnHover": "#fef7e7", + "mOnPrimary": "#8e0cc6", + "mOnSecondary": "#e8bcfb", + "mOnSurface": "#fef7e7", + "mOnSurfaceVariant": "#e8bcfb", + "mOnTertiary": "#90f9d9", + "mOutline": "#8e0cc6", + "mPrimary": "#e8bcfb", + "mSecondary": "#8e0cc6", + "mShadow": "#110118", + "mSurface": "#300443", + "mSurfaceVariant": "#50066f", + "mTertiary": "#066f50" + }, + "light": { + "mError": "#f33971", + "mHover": "#d990f9", + "mOnError": "#430417", + "mOnHover": "#300443", + "mOnPrimary": "#e8bcfb", + "mOnSecondary": "#a70ee8", + "mOnSurface": "#6f099a", + "mOnSurfaceVariant": "#50066f", + "mOnTertiary": "#066f50", + "mOutline": "#ca65f6", + "mPrimary": "#8e0cc6", + "mSecondary": "#ca65f6", + "mShadow": "#f7e7fe", + "mSurface": "#f7e7fe", + "mSurfaceVariant": "#e8bcfb", + "mTertiary": "#bcfbe8" + }, + "name": "Murasaki", + "path": "Murasaki" + }, + { + "dark": { + "mError": "#ff0000", + "mHover": "#0b3335", + "mOnError": "#062329", + "mOnHover": "#d1b897", + "mOnPrimary": "#062329", + "mOnSecondary": "#062329", + "mOnSurface": "#d1b897", + "mOnSurfaceVariant": "#c1d1e3", + "mOnTertiary": "#d1b897", + "mOutline": "#126367", + "mPrimary": "#2ec09c", + "mSecondary": "#8cde94", + "mShadow": "#062329", + "mSurface": "#062329", + "mSurfaceVariant": "#0b3335", + "mTertiary": "#7ad0c6" + }, + "light": { + "mError": "#F92672", + "mHover": "#e8f4f5", + "mOnError": "#ffffff", + "mOnHover": "#062329", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#062329", + "mOnSurface": "#062329", + "mOnSurfaceVariant": "#126367", + "mOnTertiary": "#062329", + "mOutline": "#c1d1e3", + "mPrimary": "#2ec09c", + "mSecondary": "#8cde94", + "mShadow": "#e0e0e0", + "mSurface": "#ffffff", + "mSurfaceVariant": "#f0f0f0", + "mTertiary": "#7ad0c6" + }, + "name": "NaySayer", + "path": "NaySayer" + }, + { + "dark": { + "mError": "#e9899d", + "mHover": "#e0b7c9", + "mOnError": "#1e1418", + "mOnHover": "#20161f", + "mOnPrimary": "#1a151f", + "mOnSecondary": "#f3edf7", + "mOnSurface": "#e9e4f0", + "mOnSurfaceVariant": "#a79ab0", + "mOnTertiary": "#20161f", + "mOutline": "#3e364e", + "mPrimary": "#c7a1d8", + "mSecondary": "#a984c4", + "mShadow": "#120f18", + "mSurface": "#1c1822", + "mSurfaceVariant": "#262130", + "mTertiary": "#e0b7c9" + }, + "light": { + "mError": "#e9899d", + "mHover": "#c17093", + "mOnError": "#1e1418", + "mOnHover": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#1c1822", + "mOnSurfaceVariant": "#4a3d59", + "mOnTertiary": "#ffffff", + "mOutline": "#cebedc", + "mPrimary": "#9b59ba", + "mSecondary": "#784999", + "mShadow": "#ffffff", + "mSurface": "#f5f1fa", + "mSurfaceVariant": "#e7dfee", + "mTertiary": "#c17093" + }, + "name": "Noctalia legacy", + "path": "Noctalia legacy" + }, + { + "dark": { + "mError": "#FFA0A0", + "mOnError": "#1A1A1A", + "mOnPrimary": "#1A1A1A", + "mOnSecondary": "#1A1A1A", + "mOnSurface": "#FFDACC", + "mOnSurfaceVariant": "#F0EBE6", + "mOnTertiary": "#1A1A1A", + "mOutline": "#5E5148", + "mPrimary": "#D06666", + "mSecondary": "#FFA247", + "mShadow": "#050505", + "mSurface": "#1A1A1A", + "mSurfaceVariant": "#080808", + "mTertiary": "#F0E68C" + }, + "light": { + "mError": "#b36d43", + "mOnError": "#e8e0d8", + "mOnPrimary": "#e8e0d8", + "mOnSecondary": "#e8e0d8", + "mOnSurface": "#7c4734", + "mOnSurfaceVariant": "#555555", + "mOnTertiary": "#e8e0d8", + "mOutline": "#978e88", + "mPrimary": "#7d2b2b", + "mSecondary": "#ab5807", + "mShadow": "#eee8e2", + "mSurface": "#e8e0d8", + "mSurfaceVariant": "#f3efeb", + "mTertiary": "#696223" + }, + "name": "Oasis Abyss", + "path": "Oasis Abyss" + }, + { + "dark": { + "mError": "#C25B5B", + "mHover": "#A83A3A", + "mOnError": "#0A0A12", + "mOnHover": "#E4DED2", + "mOnPrimary": "#1C1C28", + "mOnSecondary": "#0A0A12", + "mOnSurface": "#E4DED2", + "mOnSurfaceVariant": "#F2EADF", + "mOnTertiary": "#0A0A12", + "mOutline": "#3A3A4A", + "mPrimary": "#8B2E2E", + "mSecondary": "#8BAA82", + "mShadow": "#000000", + "mSurface": "#0A0A12", + "mSurfaceVariant": "#14141E", + "mTertiary": "#9A7398" + }, + "light": { + "mError": "#C25B5B", + "mHover": "#8B2E2E", + "mOnError": "#FFF8F2", + "mOnHover": "#FFF8F2", + "mOnPrimary": "#FFF8F2", + "mOnSecondary": "#FFF8F2", + "mOnSurface": "#0A0A12", + "mOnSurfaceVariant": "#0A0A12", + "mOnTertiary": "#FFF8F2", + "mOutline": "#8B2E2E", + "mPrimary": "#8B2E2E", + "mSecondary": "#5A1F6F", + "mShadow": "#000000", + "mSurface": "#EFE6DA", + "mSurfaceVariant": "#D2B48C", + "mTertiary": "#3F1C4A" + }, + "name": "Occult Umbral", + "path": "Occult Umbral" + }, + { + "dark": { + "mError": "#e06c75", + "mHover": "#56b6c2", + "mOnError": "#1e2127", + "mOnHover": "#1e2127", + "mOnPrimary": "#1e2127", + "mOnSecondary": "#1e2127", + "mOnSurface": "#cdd4e1", + "mOnSurfaceVariant": "#61afef", + "mOnTertiary": "#1e2127", + "mOutline": "#3e4451", + "mPrimary": "#61afef", + "mSecondary": "#c678dd", + "mShadow": "#181a1f", + "mSurface": "#1e2127", + "mSurfaceVariant": "#282c34", + "mTertiary": "#98c379" + }, + "light": { + "mError": "#b64439", + "mHover": "#36b6a2", + "mOnError": "#fafafa", + "mOnHover": "#e8e8e8", + "mOnPrimary": "#e8e8e8", + "mOnSecondary": "#e8e8e8", + "mOnSurface": "#383a42", + "mOnSurfaceVariant": "#383a42", + "mOnTertiary": "#e8e8e8", + "mOutline": "#4078f2", + "mPrimary": "#4078f2", + "mSecondary": "#a626a4", + "mShadow": "#d0d0d0", + "mSurface": "#e8e8e8", + "mSurfaceVariant": "#e5e5e6", + "mTertiary": "#50a14f" + }, + "name": "One", + "path": "One" + }, + { + "dark": { + "mError": "#E27881", + "mHover": "#62BAC6", + "mOnError": "#21252B", + "mOnHover": "#282C34", + "mOnPrimary": "#21252B", + "mOnSecondary": "#21252B", + "mOnSurface": "#C9CCD3", + "mOnSurfaceVariant": "#78C4CE", + "mOnTertiary": "#21252B", + "mOutline": "#393E47", + "mPrimary": "#62BAC6", + "mSecondary": "#EAC786", + "mShadow": "#1D1F23", + "mSurface": "#21252B", + "mSurfaceVariant": "#282C34", + "mTertiary": "#98C379" + }, + "light": { + "mError": "#B4656E", + "mHover": "#7C9D68", + "mOnError": "#DDDEDF", + "mOnHover": "#E6E6E6", + "mOnPrimary": "#DDDEDF", + "mOnSecondary": "#DDDEDF", + "mOnSurface": "#282C34", + "mOnSurfaceVariant": "#393E47", + "mOnTertiary": "#DDDEDF", + "mOutline": "#C9CCD3", + "mPrimary": "#5497A2", + "mSecondary": "#BAA072", + "mShadow": "#E6E6E6", + "mSurface": "#E6E6E6", + "mSurfaceVariant": "#DDDEDF", + "mTertiary": "#7C9D68" + }, + "name": "One Dark Two", + "path": "One Dark Two" + }, + { + "dark": { + "mError": "#933636", + "mHover": "#26A589", + "mOnError": "#B8C8C4", + "mOnHover": "#B8C8C4", + "mOnPrimary": "#B8C8C4", + "mOnSecondary": "#B8C8C4", + "mOnSurface": "#A6B5B1", + "mOnSurfaceVariant": "#99A8A4", + "mOnTertiary": "#B8C8C4", + "mOutline": "#1B6352", + "mPrimary": "#1E9177", + "mSecondary": "#167A63", + "mShadow": "#040A09", + "mSurface": "#081512", + "mSurfaceVariant": "#0F251F", + "mTertiary": "#26A589" + }, + "light": { + "mError": "#854145", + "mHover": "#4A8069", + "mOnError": "#D8E5DB", + "mOnHover": "#D8E5DB", + "mOnPrimary": "#D8E5DB", + "mOnSecondary": "#D8E5DB", + "mOnSurface": "#2C3D35", + "mOnSurfaceVariant": "#263731", + "mOnTertiary": "#D8E5DB", + "mOutline": "#5C7A6A", + "mPrimary": "#3B7561", + "mSecondary": "#526E4A", + "mShadow": "#8A9E90", + "mSurface": "#AEC2B4", + "mSurfaceVariant": "#95AD9C", + "mTertiary": "#4A8069" + }, + "name": "Osaka jade", + "path": "Osaka jade" + }, + { + "dark": { + "mError": "#C25D4E", + "mHover": "#463B38", + "mOnError": "#E6DBD3", + "mOnHover": "#E6DBD3", + "mOnPrimary": "#1D1816", + "mOnSecondary": "#1D1816", + "mOnSurface": "#E6DBD3", + "mOnSurfaceVariant": "#B8ACA2", + "mOnTertiary": "#1D1816", + "mOutline": "#3E3532", + "mPrimary": "#B85A30", + "mSecondary": "#8B9A5A", + "mShadow": "#1D1816", + "mSurface": "#231D1B", + "mSurfaceVariant": "#2E2623", + "mTertiary": "#D8A657" + }, + "light": { + "mError": "#AD4433", + "mHover": "#DCCFBD", + "mOnError": "#FFFCF8", + "mOnHover": "#3A2E25", + "mOnPrimary": "#FFFCF8", + "mOnSecondary": "#FFFCF8", + "mOnSurface": "#3A2E25", + "mOnSurfaceVariant": "#6A5D51", + "mOnTertiary": "#FFFCF8", + "mOutline": "#D8CCBA", + "mPrimary": "#B85A30", + "mSecondary": "#6B8050", + "mShadow": "#FFFFFF", + "mSurface": "#F2E8D8", + "mSurfaceVariant": "#F7F0E5", + "mTertiary": "#BD8838" + }, + "name": "Oxide", + "path": "Oxide" + }, + { + "dark": { + "mError": "#ee5396", + "mHover": "#78a9ff", + "mOnError": "#161616", + "mOnHover": "#161616", + "mOnPrimary": "#161616", + "mOnSecondary": "#161616", + "mOnSurface": "#f2f4f8", + "mOnSurfaceVariant": "#dde1e6", + "mOnTertiary": "#161616", + "mOutline": "#525252", + "mPrimary": "#33b1ff", + "mSecondary": "#42be65", + "mShadow": "#000000", + "mSurface": "#161616", + "mSurfaceVariant": "#262626", + "mTertiary": "#be95ff" + }, + "light": { + "mError": "#ee5396", + "mHover": "#0f62fe", + "mOnError": "#f2f4f8", + "mOnHover": "#f2f4f8", + "mOnPrimary": "#f2f4f8", + "mOnSecondary": "#f2f4f8", + "mOnSurface": "#161616", + "mOnSurfaceVariant": "#393939", + "mOnTertiary": "#f2f4f8", + "mOutline": "#525252", + "mPrimary": "#0f62fe", + "mSecondary": "#42be65", + "mShadow": "#ffffff", + "mSurface": "#f2f4f8", + "mSurfaceVariant": "#dde1e6", + "mTertiary": "#673ab7" + }, + "name": "Oxocarbon", + "path": "Oxocarbon" + }, + { + "dark": { + "mError": "#A7CCE1", + "mHover": "#E8B8A8", + "mOnError": "#0e1214", + "mOnHover": "#0e1214", + "mOnPrimary": "#0e1214", + "mOnSecondary": "#0e1214", + "mOnSurface": "#ABBCC4", + "mOnSurfaceVariant": "#DBE2E6", + "mOnTertiary": "#0e1214", + "mOutline": "#212B30", + "mPrimary": "#9DD2C0", + "mSecondary": "#FADDD2", + "mShadow": "#000000", + "mSurface": "#0e1214", + "mSurfaceVariant": "#192024", + "mTertiary": "#E8B8A8" + }, + "light": { + "mError": "#7FAFC7", + "mHover": "#D68F6E", + "mOnError": "#E5EDF0", + "mOnHover": "#E5EDF0", + "mOnPrimary": "#E5EDF0", + "mOnSecondary": "#E5EDF0", + "mOnSurface": "#738A92", + "mOnSurfaceVariant": "#435860", + "mOnTertiary": "#E5EDF0", + "mOutline": "#C2CFD6", + "mPrimary": "#6DB09A", + "mSecondary": "#EABCAE", + "mShadow": "#B8C5D0", + "mSurface": "#E8EFF2", + "mSurfaceVariant": "#CFD9DE", + "mTertiary": "#E0A990" + }, + "name": "Peche", + "path": "Peche" + }, + { + "dark": { + "mError": "#eb6f92", + "mHover": "#56526e", + "mOnError": "#232136", + "mOnHover": "#e0def4", + "mOnPrimary": "#232136", + "mOnSecondary": "#232136", + "mOnSurface": "#e0def4", + "mOnSurfaceVariant": "#908caa", + "mOnTertiary": "#e0def4", + "mOutline": "#44415a", + "mPrimary": "#ea9a97", + "mSecondary": "#9ccfd8", + "mShadow": "#232136", + "mSurface": "#232136", + "mSurfaceVariant": "#393552", + "mTertiary": "#3e8fb0" + }, + "light": { + "mError": "#b4637a", + "mHover": "#cecacd", + "mOnError": "#faf4ed", + "mOnHover": "#575279", + "mOnPrimary": "#faf4ed", + "mOnSecondary": "#faf4ed", + "mOnSurface": "#575279", + "mOnSurfaceVariant": "#797593", + "mOnTertiary": "#faf4ed", + "mOutline": "#dfdad9", + "mPrimary": "#d7827e", + "mSecondary": "#56949f", + "mShadow": "#faf4ed", + "mSurface": "#fffaf3", + "mSurfaceVariant": "#f2e9e1", + "mTertiary": "#286983" + }, + "name": "Rose Pine Moon", + "path": "Rose Pine Moon" + }, + { + "dark": { + "mError": "#ff99b8", + "mOnError": "#000000", + "mOnPrimary": "#000000", + "mOnSecondary": "#000000", + "mOnSurface": "#ffe0eb", + "mOnSurfaceVariant": "#ff8cb3", + "mOnTertiary": "#000000", + "mOutline": "#5a3f4d", + "mPrimary": "#ff8cb3", + "mSecondary": "#ffb3cc", + "mShadow": "#000000", + "mSurface": "#000000", + "mSurfaceVariant": "#1a0f16", + "mTertiary": "#ffcce0" + }, + "light": { + "mError": "#ff99b8", + "mOnError": "#ffffff", + "mOnPrimary": "#ffffff", + "mOnSecondary": "#ffffff", + "mOnSurface": "#2c1822", + "mOnSurfaceVariant": "#e57399", + "mOnTertiary": "#ffffff", + "mOutline": "#b38099", + "mPrimary": "#e57399", + "mSecondary": "#ff99b8", + "mShadow": "#f0d0e0", + "mSurface": "#fff5fa", + "mSurfaceVariant": "#f5d6e3", + "mTertiary": "#ffb3cc" + }, + "name": "Rosey AMOLED", + "path": "Rosey AMOLED" + }, + { + "dark": { + "mError": "#dc322f", + "mHover": "#cb4b16", + "mOnError": "#002b36", + "mOnHover": "#002b36", + "mOnPrimary": "#002b36", + "mOnSecondary": "#002b36", + "mOnSurface": "#839496", + "mOnSurfaceVariant": "#657b83", + "mOnTertiary": "#002b36", + "mOutline": "#0c5c70", + "mPrimary": "#b58900", + "mSecondary": "#d33682", + "mShadow": "#002b36", + "mSurface": "#002b36", + "mSurfaceVariant": "#073642", + "mTertiary": "#cb4b16" + }, + "light": { + "mError": "#dc322f", + "mHover": "#cb4b16", + "mOnError": "#fdf6e3", + "mOnHover": "#fdf6e3", + "mOnPrimary": "#fdf6e3", + "mOnSecondary": "#fdf6e3", + "mOnSurface": "#657b83", + "mOnSurfaceVariant": "#839496", + "mOnTertiary": "#fdf6e3", + "mOutline": "#dfd4b1", + "mPrimary": "#b58900", + "mSecondary": "#d33682", + "mShadow": "#eee8d5", + "mSurface": "#fdf6e3", + "mSurfaceVariant": "#eee8d5", + "mTertiary": "#cb4b16" + }, + "name": "Solarized", + "path": "Solarized" + }, + { + "dark": { + "mError": "#f7768e", + "mHover": "#9cd58a", + "mOnError": "#1f2335", + "mOnHover": "#1f2335", + "mOnPrimary": "#1f2335", + "mOnSecondary": "#1f2335", + "mOnSurface": "#a9b1d6", + "mOnSurfaceVariant": "#c0caf5", + "mOnTertiary": "#1f2335", + "mOutline": "#4b517a", + "mPrimary": "#7a88cf", + "mSecondary": "#d7729f", + "mShadow": "#181b2a", + "mSurface": "#1f2335", + "mSurfaceVariant": "#2c314a", + "mTertiary": "#9cd58a" + }, + "light": { + "mError": "#e55561", + "mHover": "#4c663b", + "mOnError": "#f0f2f7", + "mOnHover": "#f0f2f7", + "mOnPrimary": "#f0f2f7", + "mOnSecondary": "#f0f2f7", + "mOnSurface": "#4e70c2", + "mOnSurfaceVariant": "#444b6a", + "mOnTertiary": "#f0f2f7", + "mOutline": "#c8ccd8", + "mPrimary": "#4e70c2", + "mSecondary": "#85539c", + "mShadow": "#a4a8b7", + "mSurface": "#f0f2f7", + "mSurfaceVariant": "#dbdfea", + "mTertiary": "#4c663b" + }, + "name": "Tokyo Night Moon", + "path": "Tokyo Night Moon" + }, + { + "dark": { + "mError": "#FF8080", + "mHover": "#282828", + "mOnError": "#000000", + "mOnHover": "#FFFFFF", + "mOnPrimary": "#000000", + "mOnSecondary": "#000000", + "mOnSurface": "#FFFFFF", + "mOnSurfaceVariant": "#A0A0A0", + "mOnTertiary": "#000000", + "mOutline": "#505050", + "mPrimary": "#FFC799", + "mSecondary": "#99FFE4", + "mShadow": "#000000", + "mSurface": "#0C0C0C", + "mSurfaceVariant": "#1C1C1C", + "mTertiary": "#FBADFF" + }, + "light": { + "mError": "#FF8080", + "mHover": "#E0E0E0", + "mOnError": "#0C0C0C", + "mOnHover": "#0C0C0C", + "mOnPrimary": "#0C0C0C", + "mOnSecondary": "#0C0C0C", + "mOnSurface": "#0C0C0C", + "mOnSurfaceVariant": "#282828", + "mOnTertiary": "#0C0C0C", + "mOutline": "#505050", + "mPrimary": "#FFB170", + "mSecondary": "#00CC99", + "mShadow": "#D9D9D9", + "mSurface": "#F2F2F2", + "mSurfaceVariant": "#E5E5E5", + "mTertiary": "#FBADFF" + }, + "name": "Vesper", + "path": "Vesper" + } + ], + "timestamp": 1775749694 + }, + "ui": { + "settingsSidebarExpanded": true + } + } +} diff --git a/modules/features/noctalia.nix b/modules/features/noctalia.nix new file mode 100644 index 0000000..1851cb8 --- /dev/null +++ b/modules/features/noctalia.nix @@ -0,0 +1,11 @@ +{ self, inputs, ... }: { + perSystem = { pkgs, ... }: { + packages.myNoctalia = inputs.wrapper-modules.wrappers.noctalia-shell.wrap { + inherit pkgs; + settings = + (builtins.fromJSON + (builtins.readFile ./noctalia.json)).settings; + + }; + }; +} diff --git a/modules/features/pipewire.nix b/modules/features/pipewire.nix new file mode 100644 index 0000000..a6932b0 --- /dev/null +++ b/modules/features/pipewire.nix @@ -0,0 +1,11 @@ +{ self, inputs, ... }: { + flake.nixosModules.pipewire = { pkgs, lib, ... }: { + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + }; +} diff --git a/modules/features/rofi.nix b/modules/features/rofi.nix new file mode 100644 index 0000000..3eeac52 --- /dev/null +++ b/modules/features/rofi.nix @@ -0,0 +1,9 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.rofi = { pkgs, ... }: let + selfpkgs = self.packages."${pkgs.stdenv.hostPlatform.system}"; + in { + environment.systemPackages = [ + pkgs.rofi + ]; + }; +} diff --git a/modules/features/stylix.nix b/modules/features/stylix.nix new file mode 100644 index 0000000..b816a41 --- /dev/null +++ b/modules/features/stylix.nix @@ -0,0 +1,11 @@ +{ pkgs, inputs, ... }: { + flake.nixosModules.stylix = {pkgs, ...}: { + imports = [ + inputs.stylix.nixosModules.stylix + ]; + + stylix.enable = true; + stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/kanagawa.yaml"; + + }; +} diff --git a/modules/features/thunar.nix b/modules/features/thunar.nix new file mode 100644 index 0000000..248dfdf --- /dev/null +++ b/modules/features/thunar.nix @@ -0,0 +1,15 @@ +{ + flake.nixosModules.thunar = {pkgs, ...}: { + programs.thunar.enable = true; + services.gvfs.enable = true; + services.tumbler.enable = true; + xdg.mime.defaultApplications = { + "inode/directory" = "thunar.desktop"; + }; + + /* persistance.cache.directories = [ + ".config/vesktop" + ];*/ + + }; +} diff --git a/modules/features/zsh.nix b/modules/features/zsh.nix new file mode 100644 index 0000000..ae3693b --- /dev/null +++ b/modules/features/zsh.nix @@ -0,0 +1,183 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.zsh = { pkgs, config, ... }: { + + imports = [ # Include the results of the hardware scan. + self.nixosModules.fastfetch + ]; + + programs.zsh.enable = true; + programs.zsh.syntaxHighlighting.enable = true; + programs.zsh.histSize=1000; + programs.zsh.histFile="${config.users.users.adam.home}/.local/histfile"; + programs.zsh.setOptions= [ + "beep" + "prompt_subst" + ]; + programs.zsh.shellInit = + '' + bindkey -v + bindkey "^H" backward-delete-char + bindkey "^?" backward-delete-char + ''; + environment.sessionVariables = rec { + EDITOR = "nvim"; + BROWSER = "firefox"; + ZDOTDIR = "/etc/"; + }; + programs.zsh.shellAliases = { + fs = "lf"; + ls = "ls --color=auto"; + cp = "cp -v"; + mkdir = "mkdir -v"; + mv = "mv -v"; + rm = "rm -v"; + }; + programs.zsh.promptInit = + '' + autoload -Uz add-zsh-hook vcs_info + add-zsh-hook precmd vcs_info + sep="" + rsep="" + purple="#957fb8" + blue="#7e9cd8" + black="#090618" + green="#76946a" + zstyle ':vcs_info:*' formats "%F{$purple}%K{$blue}$sep%k%f%K{$blue}%F{$black} (%r:%b) %F{$blue}" + export PS1='%K{$purple}%F{$black} 󰣇 %1~ %F{$purple}''${vcs_info_msg_0_}%k$sep%k%f ' + export RPROMPT="%F{$green}$rsep%f%K{$green}%F{$black} %n@%m %f%k" + tty > /dev/null && (clear ; fastfetch) + ''; + system.userActivationScripts.zshrc = "touch .zshrc"; + }; + + flake.nixosModules.fastfetch = { pkgs, ... }: let + selfpkgs = self.packages."${pkgs.stdenv.hostPlatform.system}"; + in { + environment.systemPackages = [ + selfpkgs.myFastfetch + ]; + }; + + perSystem = { pkgs, ... }: let + conf = + pkgs.writeText "config.jsonc" + '' +{ + "''$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "type": "auto", + "color": { + "1": "35", + }, + }, + "display": { + "separator": "  ", + "constants": [ + "─────────────────" + ], + "key": { + "type": "icon", + "paddingLeft": 2 + }, + "color": { + "keys": "35", + }, + }, + "modules": [ + { + "type": "custom", // HardwareStart + "format": "┌{''$1} {#1}Hardware Information{#} {''$1}┐" + }, + //"host", + "cpu", + "gpu", + "disk", + "swap", + "display", + "brightness", + "battery", + "poweradapter", + "bluetooth", + //"sound", + "memory", + "gamepad", + { + "type": "custom", // SoftwareStart + "format": "├{''$1} {#1}Software Information{#} {''$1}┤" + }, + /*{ + "type": "title", + "keyIcon": "", + "key": "Title", // Title module has no key by default, so that icon is not displayed + "format": "{user-name}@{host-name}" + },*/ + "os", + //"kernel", + //"lm", + "de", + "wm", + "shell", + "terminal", + "terminalfont", + "theme", + "icons", + "wallpaper", + "packages", + "uptime", + //"media", + /*{ + "type": "localip", + "compact": true + }, + "publicip", + { + "type": "wifi", + "format": "{ssid}" + }, + "locale",*/ + { + "type": "custom", // InformationEnd + "format": "└{''$1}──────────────────────{''$1}┘" + }, + { + "type": "colors", + "paddingLeft": 2, + "symbol": "circle" + } + ] +} + ''; + logo = + pkgs.writeText "navi.txt" + '' + /X\ + XXX + \X/ + /X/ /XXXXXXXXX\ \X\ + /XXX/ /XXX/ \XXX\ \XXX\ + /XX/ /XXX/ \XXX\ \XX\ + /XX/ XXX /XXX\ XXX \XX\ + XXX XXX /XXXXX\ XXX XXX + XXX\ XXX \XXXXX/ XXX /XXX + \XX\ \XX\ \XXX/ /XX/ /XX/ + \XXX\ \XX\ /XX/ /XXX/ + XX \XX\ \XXX\ /XXX/ /XX/ XX + XX \XX\ /XX/ XX + XXX XXX + XXX XXX + \XX\ /XX/ \XX\ /XX/ + \XXXXXXX/ \XXXXXXX/ + + ''; + + in { + packages.myFastfetch = inputs.wrappers.lib.wrapPackage { + inherit pkgs; + package = pkgs.fastfetch; + flags = { + "--config" = "${conf}"; + "--logo" = "${logo}"; + }; + }; + }; +} diff --git a/modules/host/laptop/configuration.nix b/modules/host/laptop/configuration.nix new file mode 100644 index 0000000..a9c706f --- /dev/null +++ b/modules/host/laptop/configuration.nix @@ -0,0 +1,116 @@ +{self, inputs, ... }: { + flake.nixosModules.laptopConfiguration = { config, pkgs, self', ... }: { + imports = + [ # Include the results of the hardware scan. + self.nixosModules.base + self.nixosModules.laptopHardware + self.nixosModules.visualProfile + ]; + + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + + fonts.packages = with pkgs; [ + nerd-fonts.bitstream-vera-sans-mono + ]; + + # BIOS + services.fwupd.enable = true; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Use latest kernel. + boot.kernelPackages = pkgs.linuxPackages_latest; + + networking.hostName = "laptop"; # Define your hostname. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + + powerManagement.enable = true; + services.power-profiles-daemon.enable = true; + services.upower.enable = true; + #services.tlp.enable = true; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Enable networking + networking.networkmanager.enable = true; + + # Set your time zone. + time.timeZone = "Europe/Copenhagen"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_DK.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "da_DK.UTF-8"; + LC_IDENTIFICATION = "da_DK.UTF-8"; + LC_MEASUREMENT = "da_DK.UTF-8"; + LC_MONETARY = "da_DK.UTF-8"; + LC_NAME = "da_DK.UTF-8"; + LC_NUMERIC = "da_DK.UTF-8"; + LC_PAPER = "da_DK.UTF-8"; + LC_TELEPHONE = "da_DK.UTF-8"; + LC_TIME = "da_DK.UTF-8"; + }; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "us"; + variant = ""; + }; + + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.${config.preferences.user.name} = { + isNormalUser = true; + description = "Adam"; + extraGroups = [ "networkmanager" "wheel" ]; + packages = with pkgs; []; + shell = pkgs.zsh; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + programs.git.enable = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + wget + #self.packages.${pkgs.system}.lf + ]; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + # services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "25.11"; # Did you read the comment? + + }; +} diff --git a/modules/host/laptop/default.nix b/modules/host/laptop/default.nix new file mode 100644 index 0000000..c567721 --- /dev/null +++ b/modules/host/laptop/default.nix @@ -0,0 +1,9 @@ +{ self, inputs, ... }: { + + flake.nixosConfigurations.laptop = inputs.nixpkgs.lib.nixosSystem { + modules = [ + self.nixosModules.laptopConfiguration + ]; + }; + +} diff --git a/modules/host/laptop/hardware-configuration.nix b/modules/host/laptop/hardware-configuration.nix new file mode 100644 index 0000000..2527b92 --- /dev/null +++ b/modules/host/laptop/hardware-configuration.nix @@ -0,0 +1,39 @@ +{ self, inputs, ... }: { + + flake.nixosModules.laptopHardware = { config, lib, pkgs, modulesPath, ... }: { + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + inputs.nixos-hardware.nixosModules.framework-13-7040-amd + ]; + + boot.initrd.availableKernelModules = [ + "nvme" + "xhci_pci" + "thunderbolt" + "usb_storage" + "sd_mod" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/e920679f-af38-4509-bb4a-98c12d8606a5"; + fsType = "ext4"; + }; + + fileSystems."/boot" = { + device = "/dev/disk/by-uuid/3800-D0D0"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/f1657874-9bb9-4724-8ddb-05ddc5aca5d9"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + }; +} diff --git a/modules/parts.nix b/modules/parts.nix new file mode 100644 index 0000000..657e3ca --- /dev/null +++ b/modules/parts.nix @@ -0,0 +1,10 @@ +{ + config = { + systems = [ + "x86_64-linux" + "x86_64-darwin" + "aarch64-linux" + "aarch64-darwin" + ]; + }; +} diff --git a/modules/profiles/profiles.nix b/modules/profiles/profiles.nix new file mode 100644 index 0000000..e88ed6a --- /dev/null +++ b/modules/profiles/profiles.nix @@ -0,0 +1,31 @@ +{ inputs, lib, self, ... }: { + flake.nixosModules.main = { pkgs, ... }: { + imports = [ + self.nixosModules.git + self.nixosModules.lf + self.nixosModules.zsh + self.nixosModules.stylix + self.nixosModules.hjem + self.nixosModules.nh + ]; + }; + + flake.nixosModules.visualProfile = { pkgs, ... }: { + imports = [ + self.nixosModules.main + + self.nixosModules.niri + self.nixosModules.pipewire + self.nixosModules.discord + self.nixosModules.neovim + self.nixosModules.alacritty + self.nixosModules.firefox + self.nixosModules.chromium + self.nixosModules.keepmenu + self.nixosModules.rofi + self.nixosModules.tuigreet + ]; + }; + + #flake.nixosModules.INSERTNAMEHERE = { pkgs, ... }: {}; +} diff --git a/modules/profiles/user.nix b/modules/profiles/user.nix new file mode 100644 index 0000000..55e0f9e --- /dev/null +++ b/modules/profiles/user.nix @@ -0,0 +1,10 @@ +{ + flake.nixosModules.base = {lib, ...}: { + options.preferences = { + user.name = lib.mkOption { + type = lib.types.str; + default = "adam"; + }; + }; + }; +}