diff --git a/flake.nix b/flake.nix index 3a8dcfa..9562880 100644 --- a/flake.nix +++ b/flake.nix @@ -6,10 +6,11 @@ home-manager.url = "github:nix-community/home-manager"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; #glasshouse-desktop dots - desktop-utils.url = "path:/home/pagedmov/sysflakes/glasshouse-desktop/dotfiles"; + nvim.url = "path:glasshouse-desktop/dotfiles/packages/nixvim"; + toilet.url = "path:glasshouse-desktop/dotfiles/packages/toilet"; }; - outputs = { nixpkgs, home-manager, desktop-utils, ... }@inputs: { + outputs = { nixpkgs, home-manager, nvim, toilet, ... }@inputs: { nixosConfigurations = { glasshouse = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; @@ -21,11 +22,11 @@ home-manager.useUserPackages = true; home-manager.users.pagedmov = import ./glasshouse-desktop/home.nix; home-manager.extraSpecialArgs = { - desktop-utils = desktop-utils.packages."x86_64-linux".default; + nvim = nvim.packages."x86_64-linux".default; + toilet = toilet.packages."x86_64-linux".default; }; } ]; - }; }; }; diff --git a/glasshouse-desktop/dotfiles/flake.nix b/glasshouse-desktop/dotfiles/flake.nix index 948a77c..82c5214 100644 --- a/glasshouse-desktop/dotfiles/flake.nix +++ b/glasshouse-desktop/dotfiles/flake.nix @@ -1,38 +1,43 @@ { - inputs = { - nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - nixvim = { - url = "path:packages/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - toilet = { - url = "path:packages/toilet"; - inputs.nixpkgs.follows = "nixpkgs"; - }; - }; + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nixvim = { + url = "path:packages/nixvim"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + toilet = { + url = "path:packages/toilet"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hackneyed-cursors = { + url = "path:packages/theme/cursor"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; - outputs = { self, nixpkgs, nixvim, toilet, ... }@inputs: - let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in { - # Consolidating packages into a single one - packages.${system} = { - default = pkgs.stdenv.mkDerivation { - name = "desktop-env-tools"; - src = ./.; + outputs = { self, nixpkgs, nixvim, hackneyed-cursors, toilet, ... }@inputs: + let + system = "x86_64-linux"; + pkgs = nixpkgs.legacyPackages.${system}; + in { +# Consolidating packages into a single one + packages.${system} = { + default = pkgs.stdenv.mkDerivation { + name = "desktop-env-tools"; + src = ./.; - buildInputs = [ - nixvim.packages.${system}.default - toilet.packages.${system}.default - ]; + buildInputs = [ + nixvim.packages.${system}.default + toilet.packages.${system}.default + ]; - installPhase = '' - mkdir -p $out/bin - ln -s ${nixvim.packages.${system}.default}/bin/nvim $out/bin/nvim - ln -s ${toilet.packages.${system}.default}/bin/toilet $out/bin/toilet - ''; - }; - }; - }; + installPhase = '' + mkdir -p $out/bin + ln -s ${nixvim.packages.${system}.default}/bin/nvim $out/bin/nvim + ln -s ${toilet.packages.${system}.default}/bin/toilet $out/bin/toilet + ln -s ${hackneyed-cursors.packages.${system}.default} $out/bin/toilet + ''; + }; + }; + }; } diff --git a/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.lock b/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.lock new file mode 100644 index 0000000..c36c036 --- /dev/null +++ b/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.lock @@ -0,0 +1,27 @@ +{ + "nodes": { + "nixpkgs": { + "locked": { + "lastModified": 1726937504, + "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9357f4f23713673f310988025d9dc261c20e70c6", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "nixpkgs": "nixpkgs" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.nix b/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.nix index 125907e..760c758 100644 --- a/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.nix +++ b/glasshouse-desktop/dotfiles/packages/theme/cursor/flake.nix @@ -1,5 +1,5 @@ { - description = "Flake Boilerplate"; + description = "Hackneyed X11 Cursors"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; @@ -12,26 +12,17 @@ in { packages.${system} = { default = pkgs.stdenv.mkDerivation { - pname = "hackneyed-cursors"; + pname = "hackneyed-cursors-dark-right-48px"; version = "0.9.2"; - src = pkgs.fetchFromGitHub { - owner = "Enthymeme"; - repo = "hackneyed-x11-cursors"; - rev = "master"; + src = pkgs.fetchurl { + url = "https://gitlab.com/-/project/6703061/uploads/53e6cb854a0bd446b326ca7c40fb5cdf/Hackneyed-Dark-48px-0.9.2-right-handed.tar.bz2"; sha256 = "sha256-AAAAAAAAAAAAAAAAAAAAAAAA="; }; - buildInputs = with pkgs; [ - imagemagick - inkscape - make - bash - xorg.xcursorgen - ]; - - buildPhase = '' - ./build-all-themes.sh --dark-theme-only -j dist.large + installPhase = '' + mkdir -p $out/share/icons/Hackneyed-Dark + tar xjf $src -C $out/share/icons/Hackneyed-Dark --strip-components=1 ''; }; }; diff --git a/glasshouse-desktop/home.nix b/glasshouse-desktop/home.nix index 9b58368..ee37d4e 100644 --- a/glasshouse-desktop/home.nix +++ b/glasshouse-desktop/home.nix @@ -1,4 +1,4 @@ -{ config, pkgs, desktop-utils, ... }: +{ config, pkgs, nvim, toilet, ... }: { # Home Manager needs a bit of information about you and the paths it should @@ -45,9 +45,31 @@ zsh-syntax-highlighting zsh-history-substring-search zsh-autosuggestions - desktop-utils + nvim + toilet ]; + home.pointerCursor = + let + getFrom = url: hash: name: { + gtk.enable = true; + x11.enable = true; + name = name; + size = 48; + package = pkgs.runcommand "moveUp" {} '' + mkdir -p $out/share/icons + ln -s ${pkgs.fetchzip { + url = url; + hash = hash; + }} $out/share/icons/${name} + ''; + }; + in + getFrom + "https://gitlab.com/-/project/6703061/uploads/53e6cb854a0bd446b326ca7c40fb5cdf/Hackneyed-Dark-48px-0.9.2-right-handed.tar.bz2" + "sha256-1zd8blhp899ndmdc7zalmqzma1p9gb8k1lbl88qk5ks1xlp73wai=" + "Hackneyed-Dark"; + home.file = { # dotfiles # example # ".screenrc".source = dotfiles/screenrc;