diff --git a/flake.lock b/flake.lock index fdb7e8f..12a2b8f 100644 --- a/flake.lock +++ b/flake.lock @@ -37,27 +37,6 @@ "type": "github" } }, - "dgop": { - "inputs": { - "nixpkgs": [ - "dms", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1762835999, - "narHash": "sha256-UykYGrGFOFTmDpKTLNxj1wvd1gbDG4TkqLNSbV0TYwk=", - "owner": "AvengeMedia", - "repo": "dgop", - "rev": "799301991cd5dcea9b64245f9d500dcc76615653", - "type": "github" - }, - "original": { - "owner": "AvengeMedia", - "repo": "dgop", - "type": "github" - } - }, "disko": { "inputs": { "nixpkgs": [ @@ -80,18 +59,17 @@ }, "dms": { "inputs": { - "dgop": "dgop", "nixpkgs": [ "nixpkgs" ], "quickshell": "quickshell" }, "locked": { - "lastModified": 1765552734, - "narHash": "sha256-rWjWYu5rs3ZOJ4YJpvIscBZSYu74thJHc0VYyYKJTUc=", + "lastModified": 1768575133, + "narHash": "sha256-P//moH3z9r4PXirTzXVsccQINsK5AIlF9RWOBwK3vLc=", "owner": "AvengeMedia", "repo": "DankMaterialShell", - "rev": "7fb358bada0d3a229ec5ee6aaad0f9b64f367331", + "rev": "a7cdb39b0b89b9af86160ad4e847a7d14ea44512", "type": "github" }, "original": { @@ -575,16 +553,16 @@ ] }, "locked": { - "lastModified": 1764663772, - "narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=", + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", "ref": "refs/heads/master", - "rev": "26531fc46ef17e9365b03770edd3fb9206fcb460", - "revCount": 713, + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" }, "original": { - "rev": "26531fc46ef17e9365b03770edd3fb9206fcb460", + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", "type": "git", "url": "https://git.outfoxxed.me/quickshell/quickshell" } diff --git a/home/crow/common/optional/desktops/dank/default.nix b/home/crow/common/optional/desktops/dank/default.nix index 4a14877..0399f83 100644 --- a/home/crow/common/optional/desktops/dank/default.nix +++ b/home/crow/common/optional/desktops/dank/default.nix @@ -1,26 +1,11 @@ { pkgs, inputs, ... }: { imports = [ - inputs.dms.homeModules.dankMaterialShell.default + inputs.dms.homeModules.dank-material-shell ]; - programs.dankMaterialShell = { + programs.dank-material-shell = { enable = true; - plugins = { - PomodoroTimer = { - enable = true; - src = - pkgs.fetchFromGitHub { - owner = "AvengeMedia"; - repo = "dms-plugins"; - rev = "8fa7c5286171c66a209dd74e9a47d6e72ccfdad6"; - sha256 = "sha256-r6b6Rsy57rXTBuhdF6NHA1iekLF7/nMHn6nY6L6b804="; - sparseCheckout = [ - "DankPomodoroTimer" - ]; - } - + "/DankPomodoroTimer"; - }; - }; + dgop.package = pkgs.unstable.dgop; }; } diff --git a/home/handler/HandlerOne.nix b/home/handler/HandlerOne.nix new file mode 100644 index 0000000..e7263e3 --- /dev/null +++ b/home/handler/HandlerOne.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ + common/core + ]; +} diff --git a/home/handler/common/core/default.nix b/home/handler/common/core/default.nix new file mode 100644 index 0000000..a19c9b1 --- /dev/null +++ b/home/handler/common/core/default.nix @@ -0,0 +1,47 @@ +{ + inputs, + config, + lib, + pkgs, + hostSpec, + ... +}: +let + platform = if hostSpec.isDarwin then "darwin" else "nixos"; +in +{ + imports = lib.flatten [ + (map lib.custom.relativeToRoot [ + "modules/common/host-spec.nix" + "modules/home" + ]) + #./${platform.nix} + ./direnv.nix + ./git.nix + ./tmux.nix + ./starship.nix + ]; + + home.packages = builtins.attrValues { + inherit (pkgs) + screen + ouch + ; + }; + + inherit hostSpec; + + home = { + username = lib.mkDefault config.hostSpec.username; + homeDirectory = lib.mkDefault config.hostSpec.home; + stateVersion = lib.mkDefault "24.05"; + + sessionVariables = { + SHELL = "zsh"; + TERM = "foot"; + TERMINAL = "foot"; + VISUAL = "nvim"; + EDITOR = "nvim"; + }; + }; +} diff --git a/home/handler/common/core/direnv.nix b/home/handler/common/core/direnv.nix new file mode 100644 index 0000000..bd6efe5 --- /dev/null +++ b/home/handler/common/core/direnv.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: +{ + home.packages = builtins.attrValues { + inherit (pkgs.unstable) + devenv + ; + }; + programs = { + zsh.enable = true; + direnv = { + enable = true; + nix-direnv.enable = true; + enableZshIntegration = true; + enableNushellIntegration = true; + }; + }; +} diff --git a/home/handler/common/core/git.nix b/home/handler/common/core/git.nix new file mode 100644 index 0000000..dfe2bab --- /dev/null +++ b/home/handler/common/core/git.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: +{ + # programs.git = { + # enable = true; + # userName = "TheWanderingCrow"; + # userEmail = "contact@wanderingcrow.net"; + # extraConfig = { + # init = { + # defaultBranch = "main"; + # }; + # push = { + # autoSetupRemote = true; + # }; + # }; + # lfs = { + # enable = true; + # skipSmudge = true; + # }; + # }; + + programs.jujutsu = { + enable = true; + package = pkgs.unstable.jujutsu; + settings = { + user = { + email = "contact@wanderingcrow.net"; + name = "TheWanderingCrow"; + }; + ui.paginate = "never"; + }; + }; +} diff --git a/home/handler/common/core/starship.nix b/home/handler/common/core/starship.nix new file mode 100644 index 0000000..2959f8b --- /dev/null +++ b/home/handler/common/core/starship.nix @@ -0,0 +1,65 @@ +{ config, ... }: +{ + programs.starship = + let + raisin_black = "#262932"; + blood_red = "#710000"; + rich_lemon = "#FDF500"; + keppel = "#1AC5B0"; + electric_blue = "#36EBF3"; + blushing_purple = "#9370DB"; + frostbite = "#E455AE"; + steel_pink = "#CB1DCD"; + pale_silver = "#D1C5C0"; + in + { + enable = true; + enableZshIntegration = true; + enableNushellIntegration = true; + settings = { + format = "[ ](${rich_lemon})[ CrOS](bg:${rich_lemon} fg:${raisin_black})$username$hostname[ ](fg:${rich_lemon} bg:${blushing_purple})$directory[ ](fg:${blushing_purple} bg:${frostbite})[ ](fg:${frostbite} bg:${steel_pink})$nix_shell[ ](${steel_pink})"; + right_format = "[ ](${rich_lemon})$time[ ](${rich_lemon})"; + + # Left Modules + username = { + disabled = false; + format = "[ $user]($style)"; + style_user = "fg:${keppel} bg:${rich_lemon}"; + style_root = "fg:${blood_red} bg:${rich_lemon}"; + }; + hostname = { + disabled = false; + format = "[@$hostname ]($style)"; + style = "fg:${keppel} bg:${rich_lemon}"; + ssh_only = false; + ssh_symbol = ""; + }; + directory = { + disabled = false; + format = "[ $path ]($style)"; + style = "bg:${blushing_purple} fg:${raisin_black}"; + truncation_length = 3; + truncation_symbol = "…/"; + }; + + git_commit.disabled = true; + git_metrics.disabled = true; + git_branch.disabled = true; + git_status.disabled = true; + + nix_shell = { + disabled = false; + format = "[$symbol $name]($style)"; + style = "bg:${steel_pink} fg:${electric_blue}"; + symbol = ""; + }; + + # Right Modules + time = { + disabled = false; + format = "[$time]($style)"; + style = "fg:${raisin_black} bg:${rich_lemon}"; + }; + }; + }; +} diff --git a/home/handler/common/core/tmux.nix b/home/handler/common/core/tmux.nix new file mode 100644 index 0000000..101e0ff --- /dev/null +++ b/home/handler/common/core/tmux.nix @@ -0,0 +1,17 @@ +{ + programs.tmux = { + enable = true; + keyMode = "vi"; + extraConfig = '' + bind | split-window -h + bind - split-window -v + unbind '"' + unbind % + + bind -n M-Left select-pane -L + bind -n M-Right select-pane -R + bind -n M-Up select-pane -U + bind -n M-Down select-pane -D + ''; + }; +}