diff --git a/flake.lock b/flake.lock index 851e472..f65c08f 100644 --- a/flake.lock +++ b/flake.lock @@ -72,6 +72,153 @@ "type": "github" } }, + "base16": { + "inputs": { + "fromYaml": "fromYaml" + }, + "locked": { + "lastModified": 1689633990, + "narHash": "sha256-iwvQg2Vx0IIDWZaKo8Xmzxlv1YPHg+Kp/QSv8dRv0RY=", + "owner": "SenchoPens", + "repo": "base16.nix", + "rev": "dddf2e1c04845d43c89a8e9e37d574519649a404", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "base16.nix", + "type": "github" + } + }, + "base16-alacritty": { + "flake": false, + "locked": { + "lastModified": 1703982197, + "narHash": "sha256-TNxKbwdiUXGi4Z4chT72l3mt3GSvOcz6NZsUH8bQU/k=", + "owner": "aarowill", + "repo": "base16-alacritty", + "rev": "c95c200b3af739708455a03b5d185d3d2d263c6e", + "type": "github" + }, + "original": { + "owner": "aarowill", + "repo": "base16-alacritty", + "type": "github" + } + }, + "base16-alacritty-yaml": { + "flake": false, + "locked": { + "lastModified": 1674275109, + "narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=", + "owner": "aarowill", + "repo": "base16-alacritty", + "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7", + "type": "github" + }, + "original": { + "owner": "aarowill", + "repo": "base16-alacritty", + "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7", + "type": "github" + } + }, + "base16-fish": { + "flake": false, + "locked": { + "lastModified": 1622559957, + "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=", + "owner": "tomyun", + "repo": "base16-fish", + "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe", + "type": "github" + }, + "original": { + "owner": "tomyun", + "repo": "base16-fish", + "type": "github" + } + }, + "base16-foot": { + "flake": false, + "locked": { + "lastModified": 1696725948, + "narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", + "owner": "tinted-theming", + "repo": "base16-foot", + "rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-foot", + "type": "github" + } + }, + "base16-helix": { + "flake": false, + "locked": { + "lastModified": 1696727917, + "narHash": "sha256-FVrbPk+NtMra0jtlC5oxyNchbm8FosmvXIatkRbYy1g=", + "owner": "tinted-theming", + "repo": "base16-helix", + "rev": "dbe1480d99fe80f08df7970e471fac24c05f2ddb", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-helix", + "type": "github" + } + }, + "base16-kitty": { + "flake": false, + "locked": { + "lastModified": 1665001328, + "narHash": "sha256-aRaizTYPpuWEcvoYE9U+YRX+Wsc8+iG0guQJbvxEdJY=", + "owner": "kdrag0n", + "repo": "base16-kitty", + "rev": "06bb401fa9a0ffb84365905ffbb959ae5bf40805", + "type": "github" + }, + "original": { + "owner": "kdrag0n", + "repo": "base16-kitty", + "type": "github" + } + }, + "base16-tmux": { + "flake": false, + "locked": { + "lastModified": 1696725902, + "narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", + "owner": "tinted-theming", + "repo": "base16-tmux", + "rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", + "type": "github" + }, + "original": { + "owner": "tinted-theming", + "repo": "base16-tmux", + "type": "github" + } + }, + "base16-vim": { + "flake": false, + "locked": { + "lastModified": 1663659192, + "narHash": "sha256-uJvaYYDMXvoo0fhBZUhN8WBXeJ87SRgof6GEK2efFT0=", + "owner": "chriskempson", + "repo": "base16-vim", + "rev": "3be3cd82cd31acfcab9a41bad853d9c68d30478d", + "type": "github" + }, + "original": { + "owner": "chriskempson", + "repo": "base16-vim", + "type": "github" + } + }, "darwin": { "inputs": { "nixpkgs": [ @@ -179,6 +326,22 @@ "type": "github" } }, + "flake-compat_4": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -311,6 +474,22 @@ "type": "github" } }, + "fromYaml": { + "flake": false, + "locked": { + "lastModified": 1689549921, + "narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", + "owner": "SenchoPens", + "repo": "fromYaml", + "rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", + "type": "github" + }, + "original": { + "owner": "SenchoPens", + "repo": "fromYaml", + "type": "github" + } + }, "gen-nvim": { "flake": false, "locked": { @@ -398,17 +577,16 @@ ] }, "locked": { - "lastModified": 1705392270, - "narHash": "sha256-Y11fcK0ETTpfBxJ58w9amqTKuJSQ+lSs6nIV8DoplKo=", + "lastModified": 1706746258, + "narHash": "sha256-9iNK1cP/dxCFh1NYVLJHijoJxlT3bXxTQToMDNZtjzU=", "owner": "nix-community", "repo": "home-manager", - "rev": "bf4b576f84e1ce54ec886836bae7695738aa5a6c", + "rev": "2db6a2a42930ffff0ffd690dec3f2c0b6f4fe66d", "type": "github" }, "original": { "owner": "nix-community", "repo": "home-manager", - "rev": "bf4b576f84e1ce54ec886836bae7695738aa5a6c", "type": "github" } }, @@ -1029,6 +1207,7 @@ "smartcolumn-nvim": "smartcolumn-nvim", "stable": "stable", "statuscol-nvim": "statuscol-nvim", + "stylix": "stylix", "telekasten-nvim": "telekasten-nvim", "timers": "timers" } @@ -1082,6 +1261,39 @@ "type": "github" } }, + "stylix": { + "inputs": { + "base16": "base16", + "base16-alacritty": "base16-alacritty", + "base16-alacritty-yaml": "base16-alacritty-yaml", + "base16-fish": "base16-fish", + "base16-foot": "base16-foot", + "base16-helix": "base16-helix", + "base16-kitty": "base16-kitty", + "base16-tmux": "base16-tmux", + "base16-vim": "base16-vim", + "flake-compat": "flake-compat_4", + "home-manager": [ + "home-manager" + ], + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1706783767, + "narHash": "sha256-Rn21YNSa4TgZzTsarghUPQv+fz1dZcfdDKQZS9H79Hg=", + "owner": "danth", + "repo": "stylix", + "rev": "ccca01b5b0393119822b1888cb7c68e294fc115b", + "type": "github" + }, + "original": { + "owner": "danth", + "repo": "stylix", + "type": "github" + } + }, "systems": { "locked": { "lastModified": 1681028828, diff --git a/flake.nix b/flake.nix index 575b264..3dd6fbf 100644 --- a/flake.nix +++ b/flake.nix @@ -10,7 +10,7 @@ flake-parts.url = "github:hercules-ci/flake-parts"; flake-utils.url = "github:numtide/flake-utils"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; - home-manager.url = "github:nix-community/home-manager/bf4b576f84e1ce54ec886836bae7695738aa5a6c"; # FIXME: + home-manager.url = "github:nix-community/home-manager"; impermanence.url = "github:nix-community/impermanence"; master.url = "github:nixos/nixpkgs"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; @@ -19,6 +19,9 @@ nur.url = "github:nix-community/NUR"; nix-index-database.url = "github:Mic92/nix-index-database"; nix-index-database.inputs.nixpkgs.follows = "nixpkgs"; + stylix.url = "github:danth/stylix"; + stylix.inputs."home-manager".follows = "home-manager"; + stylix.inputs."nixpkgs".follows = "nixpkgs"; # Programs nix-super.url = "github:privatevoid-net/nix-super"; @@ -189,7 +192,9 @@ useGlobalPkgs = true; useUserPackages = true; extraSpecialArgs = { inherit inputs self; }; - sharedModules = [ inputs.nix-lazy-nvim.homeManagerModules.default ]; + sharedModules = [ + inputs.nix-lazy-nvim.homeManagerModules.default + ]; }; } inputs.agenix.nixosModules.age @@ -197,6 +202,7 @@ inputs.home-manager.nixosModule inputs.impermanence.nixosModules.impermanence inputs.nix-index-database.nixosModules.nix-index + inputs.stylix.nixosModules.stylix path ]; }) diff --git a/modules/profiles/base.nix b/modules/profiles/base.nix index 6ebdd46..80c350d 100644 --- a/modules/profiles/base.nix +++ b/modules/profiles/base.nix @@ -1,6 +1,7 @@ { config , lib , pkgs +, inputs , ... }: @@ -190,6 +191,10 @@ in }; home-manager.users.moritz = { + imports = [ + # inputs.stylix.homeManagerModules.stylix + ]; + programs = { # Let Home Manager install and manage itself. home-manager.enable = true; diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index cce9eae..3a7603f 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -21,10 +21,6 @@ in }; }; wallpapers.enable = mkDefault true; - theming = { - enable = mkDefault true; - scheme = mkDefault "catppuccin-macchiato"; - }; virtualisation.podman.enable = mkDefault true; programs = { @@ -82,15 +78,16 @@ in }; }; - environment.systemPackages = with pkgs; [ - keepassxc - pavucontrol - stable.libreoffice # NOTE breaks often - stable.signal-desktop # NOTE breaks often - stable.texlive.combined.scheme-full # NOTE breaks often - thunderbird - vlc - ]; + environment.systemPackages = with pkgs; + [ + keepassxc + pavucontrol + stable.libreoffice # NOTE breaks often + stable.signal-desktop # NOTE breaks often + stable.texlive.combined.scheme-full # NOTE breaks often + thunderbird + vlc + ]; programs.nix-ld.enable = true; diff --git a/modules/profiles/theming.nix b/modules/profiles/theming.nix new file mode 100644 index 0000000..0ea40e2 --- /dev/null +++ b/modules/profiles/theming.nix @@ -0,0 +1,52 @@ +{ pkgs, config, ... }: + +{ + stylix = { + image = ../config/wallpapers/wallpapers/red_beetle.jpg; + base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-frappe.yaml"; + opacity.terminal = 0.9; + fonts = { + monospace = { + package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; }; + name = "FiraCode Nerd Font"; + }; + sizes.terminal = 10; + }; + polarity = "dark"; + targets.fish.enable = false; + }; + home-manager.users.moritz.stylix.targets = { + swaylock.enable = false; + kitty.variant256Colors = true; + fish.enable = false; + }; + home-manager.users.moritz.xdg.configFile."fish/themes/base16.theme".text = with config.lib.stylix.colors; '' + fish_color_normal ${base05} + fish_color_command ${base0D} + fish_color_param ${base0F} + fish_color_keyword ${base08} + fish_color_quote ${base0B} + fish_color_redirection ${base0E} + fish_color_end ${base09} + fish_color_comment ${base04} + fish_color_error ${base08} + fish_color_gray ${base04} + fish_color_selection --background=${base02} + fish_color_search_match --background=${base02} + fish_color_option ${base0B} + fish_color_operator ${base0E} + fish_color_escape ${base08} + fish_color_autosuggestion ${base04} + fish_color_cancel ${base08} + fish_color_cwd ${base0A} + fish_color_user ${base0C} + fish_color_host ${base0D} + fish_color_host_remote ${base0B} + fish_color_status ${base08} + fish_pager_color_progress ${base04} + fish_pager_color_prefix ${base0E} + fish_pager_color_completion ${base05} + fish_pager_color_description ${base04} + ''; + home-manager.users.moritz.programs.fish.interactiveShellInit = "fish_config theme choose base16"; +} diff --git a/modules/programs/hyprland/default.nix b/modules/programs/hyprland/default.nix index 87de8c1..a306c77 100644 --- a/modules/programs/hyprland/default.nix +++ b/modules/programs/hyprland/default.nix @@ -51,10 +51,10 @@ in wallpapers.enable = true; services = { dunst.enable = true; - wallpaper = { - enable = true; - target = "hyprland-session.target"; - }; + # wallpaper = { + # enable = true; + # target = "hyprland-session.target"; + # }; spotify-player.target = "hyprland-session.target"; }; }; diff --git a/modules/programs/kitty.nix b/modules/programs/kitty.nix index a1e5b56..a512ae4 100644 --- a/modules/programs/kitty.nix +++ b/modules/programs/kitty.nix @@ -21,16 +21,16 @@ in cursor_shape = "underline"; window_padding_width = 3; confirm_os_window_close = 0; - background_opacity = "0.9"; + # background_opacity = "0.9"; }; keybindings = { "ctrl+plus" = "change_font_size all +2.0"; "ctrl+minus" = "change_font_size all -2.0"; }; - font = { - name = "FiraCode Nerd Font"; - size = 10; - }; + # font = { + # name = "FiraCode Nerd Font"; + # size = 10; + # }; }; }; }; diff --git a/modules/services/dunst.nix b/modules/services/dunst.nix index db80828..38ebef7 100644 --- a/modules/services/dunst.nix +++ b/modules/services/dunst.nix @@ -13,8 +13,8 @@ in config = lib.mkIf cfg.enable { home-manager.users.moritz.services.dunst.enable = true; - home-manager.users.moritz.services.dunst.settings.global = { - font = "Monospace 10"; - }; + # home-manager.users.moritz.services.dunst.settings.global = { + # font = "Monospace 10"; + # }; }; }