meow
This commit is contained in:
parent
44d708329a
commit
7dd32c7a17
9 changed files with 168 additions and 56 deletions
58
flake.lock
generated
58
flake.lock
generated
|
|
@ -360,11 +360,29 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"musnix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756852730,
|
||||||
|
"narHash": "sha256-qPere4RBHoZxiEGl8zXU8gjroZg4gkYGEwaAbKmL4vE=",
|
||||||
|
"owner": "musnix",
|
||||||
|
"repo": "musnix",
|
||||||
|
"rev": "7ccc92050e43dc92309396c6f2fe1f542214a242",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "musnix",
|
||||||
|
"repo": "musnix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
"niri-unstable": "niri-unstable",
|
"niri-unstable": "niri-unstable",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_5",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
"xwayland-satellite-stable": "xwayland-satellite-stable",
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
|
|
@ -457,6 +475,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-mineral": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1757365535,
|
||||||
|
"narHash": "sha256-s4YK7Ey2LJFLIAONWVXM3X+xdAIbjFgdK2s6lxmMIrQ=",
|
||||||
|
"owner": "cynicsketch",
|
||||||
|
"repo": "nix-mineral",
|
||||||
|
"rev": "b76cc19351f159cd360d8ceea3ba9aff8fce6c6e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cynicsketch",
|
||||||
|
"repo": "nix-mineral",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757103352,
|
"lastModified": 1757103352,
|
||||||
|
|
@ -588,6 +622,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1756542300,
|
||||||
|
"narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757347588,
|
"lastModified": 1757347588,
|
||||||
"narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=",
|
"narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=",
|
||||||
|
|
@ -603,7 +653,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1757347588,
|
"lastModified": 1757347588,
|
||||||
"narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=",
|
"narHash": "sha256-tLdkkC6XnsY9EOZW9TlpesTclELy8W7lL2ClL+nma8o=",
|
||||||
|
|
@ -671,10 +721,12 @@
|
||||||
"determinate": "determinate",
|
"determinate": "determinate",
|
||||||
"firefox-addons": "firefox-addons",
|
"firefox-addons": "firefox-addons",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"musnix": "musnix",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-index-db": "nix-index-db",
|
"nix-index-db": "nix-index-db",
|
||||||
|
"nix-mineral": "nix-mineral",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_5",
|
"nixpkgs": "nixpkgs_6",
|
||||||
"quickshell": "quickshell",
|
"quickshell": "quickshell",
|
||||||
"stylix": "stylix",
|
"stylix": "stylix",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
|
|
||||||
110
flake.nix
110
flake.nix
|
|
@ -35,7 +35,11 @@
|
||||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
musnix.url = "github:musnix/musnix";
|
||||||
|
nix-mineral = {
|
||||||
|
url = "github:cynicsketch/nix-mineral";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
@ -53,10 +57,12 @@
|
||||||
stylix,
|
stylix,
|
||||||
comin,
|
comin,
|
||||||
firefox-addons,
|
firefox-addons,
|
||||||
|
musnix,
|
||||||
|
nix-mineral,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = import nixpkgs { inherit system; };
|
||||||
lib = pkgs.lib;
|
lib = pkgs.lib;
|
||||||
|
|
||||||
# Configure treefmt
|
# Configure treefmt
|
||||||
|
|
@ -90,48 +96,90 @@
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
packages.${system}.wallpapers = pkgs.stdenv.mkDerivation {
|
packages.${system} = {
|
||||||
name = "wallpapers";
|
hello-kitty-cursors = pkgs.stdenv.mkDerivation {
|
||||||
src = ./assets;
|
pname = "hello-kitty-cursors";
|
||||||
|
version = "1.0.0";
|
||||||
|
|
||||||
buildInputs = with pkgs; [ ffmpeg ];
|
src = pkgs.fetchzip {
|
||||||
|
url = "https://www.rw-designer.com/cursor-downloadset/hello-kitty.zip";
|
||||||
|
sha256 = "sha256-p4US/gftDL0ne4l0dHUIKKZy2oibkOqdJ3fMisySnNM="; # Replace with the actual hash of the zip file
|
||||||
|
stripRoot = false;
|
||||||
|
};
|
||||||
|
|
||||||
buildPhase = ''
|
installPhase = ''
|
||||||
# Create output directory
|
mkdir -p $out/share/icons/HelloKitty
|
||||||
mkdir -p $out/share/wallpapers
|
for file in ${self}/cursors/*; do
|
||||||
|
if [ -e "$file" ]; then
|
||||||
|
cp "$file" "$out/share/icons/HelloKitty/"
|
||||||
|
else
|
||||||
|
echo "Warning: File $file does not exist."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Copy static wallpaper
|
# Adjust the path to index.theme if necessary
|
||||||
cp "wp6553608.jpg" "$out/share/wallpapers/static-wallpaper.jpg"
|
if [ -e "${self}/index.theme" ]; then
|
||||||
|
cp "${self}/index.theme" "$out/share/icons/HelloKitty/"
|
||||||
|
else
|
||||||
|
echo "Warning: index.theme does not exist."
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
# Copy original animated wallpaper
|
meta = with nixpkgs.lib; {
|
||||||
cp "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \
|
description = "Hello Kitty Cursor theme";
|
||||||
"$out/share/wallpapers/anime-cat-girl-snow.mp4"
|
homepage = "https://www.rw-designer.com/cursor-downloadset/hello-kitty.zip";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
maintainers = with maintainers; [ your-maintainer-name ]; # Replace with your name
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Create optimized version
|
wallpapers = pkgs.stdenv.mkDerivation {
|
||||||
${pkgs.ffmpeg}/bin/ffmpeg -i "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \
|
name = "wallpapers";
|
||||||
-vf "scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080" \
|
src = ./assets;
|
||||||
-r 30 -c:v libx264 -crf 28 -preset medium \
|
|
||||||
-t 30 -an "$out/share/wallpapers/anime-cat-girl-snow-optimized.mp4"
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
buildInputs = with pkgs; [ ffmpeg ];
|
||||||
# Files are already in the right place from buildPhase
|
|
||||||
echo "Wallpapers installed to $out/share/wallpapers"
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
buildPhase = ''
|
||||||
description = "Personal wallpaper collection";
|
# Create output directory
|
||||||
platforms = platforms.linux;
|
mkdir -p $out/share/wallpapers
|
||||||
|
|
||||||
|
# Copy static wallpaper
|
||||||
|
cp "wp6553608.jpg" "$out/share/wallpapers/static-wallpaper.jpg"
|
||||||
|
|
||||||
|
# Copy original animated wallpaper
|
||||||
|
cp "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \
|
||||||
|
"$out/share/wallpapers/anime-cat-girl-snow.mp4"
|
||||||
|
|
||||||
|
# Create optimized version
|
||||||
|
${pkgs.ffmpeg}/bin/ffmpeg -i "Anime Live Wallpaper - Anime Cat Girl Snow - HD - no copyright [SiMc3l0ido0].mp4" \
|
||||||
|
-vf "scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080" \
|
||||||
|
-r 30 -c:v libx264 -crf 28 -preset medium \
|
||||||
|
-t 30 -an "$out/share/wallpapers/anime-cat-girl-snow-optimized.mp4"
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
# Files are already in the right place from buildPhase
|
||||||
|
echo "Wallpapers installed to $out/share/wallpapers"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Personal wallpaper collection";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations.p50 = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.p50 = nixpkgs.lib.nixosSystem {
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
|
"${nix-mineral}/nix-mineral.nix"
|
||||||
niri.nixosModules.niri
|
niri.nixosModules.niri
|
||||||
nixos-hardware.nixosModules.lenovo-thinkpad-p50
|
nixos-hardware.nixosModules.lenovo-thinkpad-p50
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
determinate.nixosModules.default
|
determinate.nixosModules.default
|
||||||
|
musnix.nixosModules.musnix
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
|
|
@ -149,6 +197,8 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./modules/home.nix
|
./modules/home.nix
|
||||||
|
./modules/bottom.nix
|
||||||
|
./modules/htop.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -166,12 +216,6 @@
|
||||||
inputs.self.packages.${pkgs.system}.wallpapers
|
inputs.self.packages.${pkgs.system}.wallpapers
|
||||||
}/share/wallpapers/anime-cat-girl-snow-optimized.mp4";
|
}/share/wallpapers/anime-cat-girl-snow-optimized.mp4";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure dconf settings here or inside home.nix
|
|
||||||
# Example:
|
|
||||||
# home.sessionVariables = {
|
|
||||||
# XDG_CURRENT_DESKTOP = "GNOME";
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
c3d2-user-module.nixosModule
|
c3d2-user-module.nixosModule
|
||||||
|
|
|
||||||
4
modules/bottom.nix
Normal file
4
modules/bottom.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.bottom.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -11,12 +11,8 @@ let
|
||||||
packageNames = map (font: font.package) fonts;
|
packageNames = map (font: font.package) fonts;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
fonts.packages =
|
fonts.packages = with pkgs; [
|
||||||
with pkgs;
|
iosevka
|
||||||
[
|
comic-mono
|
||||||
iosevka
|
];
|
||||||
comic-mono
|
|
||||||
nerdfonts
|
|
||||||
]
|
|
||||||
++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
{
|
{ config
|
||||||
config,
|
, pkgs
|
||||||
pkgs,
|
, inputs
|
||||||
inputs,
|
, ...
|
||||||
...
|
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
|
|
||||||
4
modules/htop.nix
Normal file
4
modules/htop.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.htop.enable = true;
|
||||||
|
}
|
||||||
4
modules/music.nix
Normal file
4
modules/music.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
musnix.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
{ config
|
{
|
||||||
, lib
|
config,
|
||||||
, pkgs
|
lib,
|
||||||
, inputs
|
pkgs,
|
||||||
, ...
|
inputs,
|
||||||
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
makeCommand = command: {
|
makeCommand = command: {
|
||||||
|
|
@ -11,10 +12,20 @@ let
|
||||||
qs = "${pkgs.quickshell}/bin/qs";
|
qs = "${pkgs.quickshell}/bin/qs";
|
||||||
wl-paste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
wl-paste = "${pkgs.wl-clipboard}/bin/wl-paste";
|
||||||
wallpapers = inputs.self.packages.${pkgs.system}.wallpapers;
|
wallpapers = inputs.self.packages.${pkgs.system}.wallpapers;
|
||||||
|
helloKittyCursor = pkgs.fetchzip {
|
||||||
|
url = "https://www.rw-designer.com/cursor-downloadset/hello-kitty.zip";
|
||||||
|
hash = "";
|
||||||
|
};
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
programs.niri.settings = {
|
programs.niri.settings = {
|
||||||
|
cursor = {
|
||||||
|
theme = "Hello-Kitty"; # Set the cursor theme
|
||||||
|
size = 48; # Set the cursor size in logical pixels
|
||||||
|
hide-after-inactive-ms = 1000; # Hide cursor after 1 second of inactivity
|
||||||
|
hide-when-typing = true; # Hide cursor when typing
|
||||||
|
};
|
||||||
environment = {
|
environment = {
|
||||||
CLUTTER_BACKEND = "wayland";
|
CLUTTER_BACKEND = "wayland";
|
||||||
DISPLAY = ":0";
|
DISPLAY = ":0";
|
||||||
|
|
|
||||||
|
|
@ -97,8 +97,6 @@ in
|
||||||
fg = "job unfreeze";
|
fg = "job unfreeze";
|
||||||
nano = hx;
|
nano = hx;
|
||||||
vi = hx;
|
vi = hx;
|
||||||
nvim = hx;
|
|
||||||
vim = hx;
|
|
||||||
devenv-init = "${nix} flake init --template github:cachix/devenv";
|
devenv-init = "${nix} flake init --template github:cachix/devenv";
|
||||||
devenv-enter = "${nix} develop --impure";
|
devenv-enter = "${nix} develop --impure";
|
||||||
rust-init = "${nix} flake init --template templates#rust";
|
rust-init = "${nix} flake init --template templates#rust";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue