Initial commit

This commit is contained in:
shibazaki 2025-01-11 22:07:56 +01:00
commit 4dd01652ed
32 changed files with 1619 additions and 0 deletions

765
flake.lock generated Normal file
View File

@ -0,0 +1,765 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736102453,
"narHash": "sha256-5qb4kb7Xbt8jJFL/oDqOor9Z2+E+A+ql3PiyDvsfWZ0=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "4846091641f3be0ad7542086d52769bb7932bde6",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1732200724,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"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-helix": {
"flake": false,
"locked": {
"lastModified": 1725860795,
"narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1731949548,
"narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"type": "github"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1734969791,
"narHash": "sha256-A9PxLienMYJ/WUvqFie9qXrNC2MeRRYw7TG/q7DRjZg=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "92f4890bd150fc9d97b61b3583680c0524a8cafe",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": [
"stylix",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"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"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"stylix",
"flake-compat"
],
"gitignore": "gitignore_2",
"nixpkgs": [
"stylix",
"nixpkgs"
],
"nixpkgs-stable": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gitignore_2": {
"inputs": {
"nixpkgs": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1732369855,
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "47.2",
"repo": "gnome-shell",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1736373539,
"narHash": "sha256-dinzAqCjenWDxuy+MqUQq0I4zUSfaCvN9rzuCmgMZJY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "bd65bc3cde04c16755955630b344bc9e35272c56",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735774425,
"narHash": "sha256-C73gLFnEh8ZI0uDijUgCDWCd21T6I6tsaWgIBHcfAXg=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5f6aa268e419d053c3d5025da740e390b12ac936",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1734906540,
"narHash": "sha256-vQ/L9hZFezC0LquLo4TWXkyniWtYBlFHAKIsDc7PYJE=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "69270ba8f057d55b0e6c2dca0e165d652856e613",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736115290,
"narHash": "sha256-Jcn6yAzfUMcxy3tN/iZRbi/QgrYm7XLyVRl9g/nbUl4=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "52202272d89da32a9f866c0d10305a5e3d954c50",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-protocols": "hyprland-protocols",
"hyprland-qtutils": "hyprland-qtutils",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1736613484,
"narHash": "sha256-vWqI0RuLigqNV20sI15rj/LeBCMSJiFJ59br00D6POk=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "2778aff08fba59a34b404751039d7acb6bfb3bdf",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1735774328,
"narHash": "sha256-vIRwLS9w+N99EU1aJ+XNOU6mJTxrUBa31i1r82l0V7s=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "e3b6af97ddcfaafbda8e2828c719a5af84f662cb",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprland-qtutils": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736114838,
"narHash": "sha256-FxbuGQExtN37ToWYnGmO6weOYN6WPHN/RAqbr7gNPek=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "6997fe382dcf396704227d2b98ffdd5066da6959",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1735393019,
"narHash": "sha256-NPpqA8rtmDLsEmZOmz+qR67zsB6Y503Jnv+nSFLKJZ8=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "55608efdaa387af7bfdc0eddb404c409958efa43",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1736164519,
"narHash": "sha256-1LimBKvDpBbeX+qW7T240WEyw+DBVpDotZB4JYm8Aps=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "3c895da64b0eb19870142196fa48c07090b441c4",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1735493474,
"narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1736200483,
"narHash": "sha256-JO+lFN2HsCwSLMUWXHeOad6QUxOuwe9UOAF/iSl1J4I=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3f0a8ac25fb674611b98089ca3a5dd6480175751",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735882644,
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs",
"stylix": "stylix"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat_2",
"flake-utils": "flake-utils",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems_2",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1736530113,
"narHash": "sha256-a+IUtGdzESNSQEZkW99TXf5js8o4Oy9M4H2am+2ECp4=",
"owner": "danth",
"repo": "stylix",
"rev": "f1e003194cb528bbd4eda50b781d1f703611782d",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"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-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1729501581,
"narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"tinted-zed": {
"flake": false,
"locked": {
"lastModified": 1725758778,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
"owner": "tinted-theming",
"repo": "base16-zed",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-zed",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1734907020,
"narHash": "sha256-p6HxwpRKVl1KIiY5xrJdjcEeK3pbmc///UOyV6QER+w=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "d7f18dda5e511749fa1511185db3536208fb1a63",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

43
flake.nix Normal file
View File

@ -0,0 +1,43 @@
{
description = "real";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland = {
url = "github:hyprwm/Hyprland";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, ... } @ inputs: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
in {
nixosConfigurations.shibazaki = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs pkgs; };
modules = [
./users/shibazaki/configuration.nix
inputs.stylix.nixosModules.stylix
];
};
};
}

View File

@ -0,0 +1,101 @@
{pkgs, ...}: {
services.network-manager-applet.enable = true;
services.dunst.enable = true;
home.packages = with pkgs; [
toybox
hyprlock
hyprpicker
hypridle
hyprpolkitagent
dunst
libnotify
swayosd
playerctl
hyprshade
swappy
grimblast
udiskie
wl-clipboard
cliphist
pavucontrol
nautilus
rofi-wayland
(writeShellScriptBin "dontkillsteam" ''
if [[ $(hyprctl activewindow -j | ${pkgs.jq}/bin/jq -r ".class") == "Steam" ]]; then
xdotool windowunmap $(xdotool getactivewindow)
else
hyprctl dispatch killactive ""
fi
'')
(writeShellScriptBin "screenshot" ''
restore_shader() {
if [ -n "$shader" ]; then
${pkgs.hyprshade}/bin/hyprshade on "$shader"
fi
}
# Saves the current shader and turns it off
save_shader() {
shader=$(hyprshade current)
${pkgs.hyprshade}/bin/hyprshade off
trap restore_shader EXIT
}
save_shader
save_file=$(date +'%y%m%d_%Hh%Mm%Ss_screenshot.png')
temp_screenshot="/tmp/screenshot.png"
case $1 in
p) # print all outputs
grimblast copysave screen $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
s) # drag to manually snip an area / click on a window to print it
grimblast copysave area $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
sf) # frozen screen, drag to manually snip an area / click on a window to print it
grimblast --freeze copysave area $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
m) # print focused monitor
grimblast copysave output $temp_screenshot && restore_shader && swappy -f $temp_screenshot ;;
*) # invalid option
print_error ;;
esac
rm "$temp_screenshot"
'')
(writeShellScriptBin "keyboardswitch" ''
hyprctl switchxkblayout all next
layMain=$(hyprctl -j devices | ${pkgs.jq}/bin/jq '.keyboards' | ${pkgs.jq}/bin/jq '.[] | select (.main == true)' | awk -F '"' '{if ($2=="active_keymap") print $4}')
${libnotify}/bin/notify-send -a "t1" -r 91190 -t 800 "$layMain" -i ~/dotfiles/config/icons/keyboard.svg
'')
(writeShellScriptBin "background-switch-random" ''
directory=$HOME/dotfiles/config/backgrounds/
monitor=$(hyprctl monitors | grep Monitor | awk '{print $2}')
if [ -d "$directory" ]; then
# Use find to include .jpg, .png, and .jpeg files
random_background=$(find "$directory" -type f \( -name "*.jpg" -o -name "*.png" -o -name "*.jpeg" \) | shuf -n 1)
hyprctl hyprpaper unload all
hyprctl hyprpaper preload "$random_background"
hyprctl hyprpaper wallpaper "$monitor, $random_background"
fi
'')
];
programs.rofi = {
enable = true;
cycle = true;
package = pkgs.rofi-wayland;
location = "center";
};
}

View File

@ -0,0 +1,305 @@
{pkgs, ...}: {
imports = [
./dependencies.nix
];
xdg.portal.enable = true;
xdg.portal.config = {
common = {
default = ["kde"];
};
};
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-kde];
home.sessionVariables = {
WLR_NO_HARDWARE_CURSORS = "1";
NIXOS_OZONE_WL = "1";
};
wayland.windowManager.hyprland = {
enable = true;
settings = {
monitor = [
"HDMI-A-1,2560x1440@144,0x0,1"
",preferred,auto,1,mirror,eDP-1"
];
input = {
"kb_layout" = "us, cz";
"kb_options" = "grp:caps_toggle";
"follow_mouse" = "1";
#"kb_options" = "caps:swapecase";
#"kb_options" = "ctrl:nocaps";
touchpad = {
"natural_scroll" = "no";
};
"sensitivity" = "0";
"force_no_accel" = "1";
#"numlock_by_default" = "true";
};
gestures = {
"workspace_swipe" = "true";
"workspace_swipe_fingers" = "3";
};
dwindle = {
"pseudotile" = "yes";
"preserve_split" = "yes";
};
master = {
"new_status" = "master";
};
misc = {
"vrr" = "0";
"disable_hyprland_logo" = "true";
"disable_splash_rendering" = "true";
"force_default_wallpaper" = "0";
};
xwayland = {
"force_zero_scaling" = "true";
};
env = [
"XDG_CURRENT_DESKTOP,Hyprland"
"XDG_SESSION_TYPE,wayland"
"XDG_SESSION_DESKTOP,Hyprland"
"QT_QPA_PLATFORM,wayland;xcb"
#"QT_QPA_PLATFORMTHEME,qt6ct"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"QT_AUTO_SCREEN_SCALE_FACTOR,1"
"MOZ_ENABLE_WAYLAND,1"
"GDK_SCALE,1"
];
exec-once = [
"discord --start-minimized"
"vesktop --start-minimized"
"${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnect-indicator"
"systemctl --user start hyprpolkitagent"
#"swww-daemon --format xrgb"
#"swww ../../aurora_borealis.png"
"hypridle"
"waybar"
"swayosd-server"
"blueman-applet"
"udiskie --no-automount --smart-tray"
"nm-applet --indicator"
"dunst"
"wl-paste --type text --watch cliphist store # clipboard store text data"
"wl-paste --type image --watch cliphist store # clipboard store image data"
#"$scrPath/batterynotify.sh # battery notification"
#"$scrPath/resetxdgportal.sh # reset XDPH for screenshare"
#"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH"
#"dbus-update-activation-environment --systemd --all # for XDPH"
#"systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # for XDPH"
];
"$mod" = "SUPER";
"$term" = "${pkgs.kitty}/bin/kitty";
"$editor" = "${pkgs.netbeans}/bin/netbeans";
"$file" = "${pkgs.nautilus}/bin/nautilus";
"$browser" = "${pkgs.firefox}/bin/firefox";
"$rofi" = "${pkgs.rofi-wayland}/bin/rofi";
#"$dontkillsteam" = "${pkgs.dontkillsteam}/bin/dontkillsteam";
animations = {
"enabled" = "yes";
"bezier" = [
"wind, 0.05, 0.9, 0.1, 1.05"
"winIn, 0.1, 1.1, 0.1, 1.1"
"winOut, 0.3, -0.3, 0, 1"
"liner, 1, 1, 1, 1"
];
"animation" = [
"windows, 1, 6, wind, slide"
"windowsIn, 1, 6, winIn, slide"
"windowsOut, 1, 5, winOut, slide"
"windowsMove, 1, 5, wind, slide"
"border, 1, 1, liner"
"borderangle, 1, 30, liner, loop"
"fade, 1, 10, default"
"workspaces, 1, 5, wind"
];
};
bindr = [
"ALTSHIFT, Shift_L, exec, keyboardswitch"
"CAPS,Caps_Lock, exec, swayosd-client --caps-lock"
];
#bindsr = [
#];
bindd = [
"$mod SHIFT, P, Color Picker, exec, hyprpicker -a"
"$mod SHIFT, R, Random Background, exec, background-switch-random"
];
bindl = [
# Audio
",XF86AudioMute, exec, swayosd-client --output-volume mute-toggle"
",XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle"
# Media
"Alt, P, exec, playerctl play-pause"
"Alt, I, exec, playerctl next"
"Alt, O, exec, playerctl previous"
];
bindel = [
",XF86AudioLowerVolume, exec, swayosd-client --output-volume -5"
",XF86AudioRaiseVolume, exec, swayosd-client --output-volume 5"
# Brightness
",XF86MonBrightnessUp, exec, swayosd-client --brightness raise"
",XF86MonBrightnessDown, exec, swayosd-client --brightness lower"
];
binde = [
# Resize windows
"$mod+Shift, Right, resizeactive, 30 0"
"$mod+Shift, Left, resizeactive, -30 0"
"$mod+Shift, Up, resizeactive, 0 -30"
"$mod+Shift, Down, resizeactive, 0 30"
];
bindm = [
# Move/Resize focused window
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
"$mod, Z, movewindow"
"$mod, X, resizewindow"
];
bind = [
"$mod, Q, exec, /home/shibazaki/.nix-profile/bin/dontkillsteam"
"$mod, Delete, exit"
"$mod, W, togglefloating"
"$mod, G, togglegroup"
"Alt, Return, fullscreen"
"$mod, Escape, exec, hyprlock"
#"$mod+Shift,F, exec, windowpin.sh"
"$mod, Backspace, exec, wlogout -b 2"
"$Ctrl+Alt, W, exec, killall waybar || waybar" # toggle waybar
"$mod, N, exec, $term -e ani-cli"
"$mod, T, exec, $term"
"$mod, F, exec, $browser"
"$mod, E, exec, $file"
"$mod, C, exec, $editor"
"Ctrl+Shift, Escape, exec, btop"
# Rofi
"$mod, A, exec, pkill -x $rofi || $rofi -show drun"
"$mod, Tab, exec, pkill -x $rofi || $rofi -show window"
"$mod+Shift, E, exec, pkill -x $rofi || $rofi -show emoji"
# Grouped Windows
"$mod CTRL, H, changegroupactive, b"
"$mod CTRL, L, changegroupactive, f"
# Screenshot
"$mod, P, exec, screenshot s"
"$mod+Ctrl, P, exec, screenshot sf"
"$mod+Alt, P, exec, screenshot m"
", Print, exec, screenshot p" # All monitors screenshot capture
# Custom scripts
"$mod, V, exec, pkill -x $rofi || scliphist c"
# Move/Change window focus
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, K, movefocus, u"
"$mod, J, movefocus, d"
"Alt, Tab, movefocus, d"
"$mod Shift, H, movewindow, l"
"$mod Shift, L, movewindow, r"
"$mod Shift, K, movewindow, u"
"$mod Shift, J, movewindow, d"
"$mod, 1, workspace, 1"
"$mod, 2, workspace, 2"
"$mod, 3, workspace, 3"
"$mod, 4, workspace, 4"
"$mod, 5, workspace, 5"
"$mod, 6, workspace, 6"
"$mod, 7, workspace, 7"
"$mod, 8, workspace, 8"
"$mod, 9, workspace, 9"
"$mod, 0, workspace, 10"
"$mod+Ctrl, Right, workspace, r+1"
"$mod+Ctrl, Left, workspace, r-1"
"$mod+Ctrl, Down, workspace, empty"
# Move focused window to a relative workspace
"$mod+Shift, 1, movetoworkspace, 1"
"$mod+Shift, 2, movetoworkspace, 2"
"$mod+Shift, 3, movetoworkspace, 3"
"$mod+Shift, 4, movetoworkspace, 4"
"$mod+Shift, 5, movetoworkspace, 5"
"$mod+Shift, 6, movetoworkspace, 6"
"$mod+Shift, 7, movetoworkspace, 7"
"$mod+Shift, 8, movetoworkspace, 8"
"$mod+Shift, 9, movetoworkspace, 9"
"$mod+Shift, 0, movetoworkspace, 10"
# Move focused window to a relative workspace silently
"$mod+Alt, 1, movetoworkspacesilent, 1"
"$mod+Alt, 2, movetoworkspacesilent, 2"
"$mod+Alt, 3, movetoworkspacesilent, 3"
"$mod+Alt, 4, movetoworkspacesilent, 4"
"$mod+Alt, 5, movetoworkspacesilent, 5"
"$mod+Alt, 6, movetoworkspacesilent, 6"
"$mod+Alt, 7, movetoworkspacesilent, 7"
"$mod+Alt, 8, movetoworkspacesilent, 8"
"$mod+Alt, 9, movetoworkspacesilent, 9"
"$mod+Alt, 0, movetoworkspacesilent, 10"
# Move focused window to a relative workspace
"$mod+Ctrl+Alt, Right, movetoworkspace, r+1"
"$mod+Ctrl+Alt, Left, movetoworkspace, r-1"
# Move active window around current workspace with $mod + SHIFT + CTRL
# Scroll through existing workspaces
"$mod, mouse_down, workspace, e+1"
"$mod, mouse_up, workspace, e-1"
# Move/Switch to special workspace
"$mod+Alt, S, movetoworkspacesilent, special"
"$mod, S, togglespecialworkspace"
"$mod, U, togglesplit"
];
windowrulev2 = [
];
layerrule = [
"blur,rofi"
"ignorezero,rofi"
"blur,notifications"
"ignorezero,notifications"
"blur,swaync-notification-window"
"ignorezero,swaync-notification-window"
"blur,swaync-control-center"
"ignorezero,swaync-control-center"
"blur,logout_dialog"
];
};
};
}

View File

@ -0,0 +1,20 @@
{
pkgs,
...
}:
{
programs.starship = {
enable = true;
settings = {
add_newline = true;
command_timeout = 1300;
scan_timeout = 50;
format = "$all$nix_shell$nodejs$lua$golang$rust$php$git_branch$git_commit$git_state$git_status\n$username$hostname$directory";
character = {
success_symbol = "[:3c](#F79AD3) ";
error_symbol = "[>:3](#D90429) ";
};
};
};
}

View File

@ -0,0 +1,10 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
dotnet-sdk
godot_4
blender
krita
inkscape
];
}

View File

@ -0,0 +1,21 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
kate
vscode
neovim
libreoffice
];
programs.vscode = {
enable = true;
extensions = with pkgs.vscode-extensions; [
ms-vscode.live-server
ms-dotnettools.csharp
ms-dotnettools.csdevkit
ms-dotnettools.vscode-dotnet-runtime
ms-dotnettools.vscodeintellicode-csharp
csharpier.csharpier-vscode
];
};
}

View File

@ -0,0 +1,12 @@
{ pkgs, ... }: {
home.file = {
# Add dotfiles or other configuration files here if needed
};
home.packages = with pkgs; [
netbeans
wineWowPackages.stable
winetricks
];
}

View File

@ -0,0 +1,7 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
prismlauncher
lunar-client
];
}

View File

@ -0,0 +1,8 @@
{ pkgs, ... }: {
programs.git = {
enable = true;
userName = "shibazaki";
userEmail = "shibazaki@example.com";
};
}

View File

@ -0,0 +1,9 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
ani-cli
mpv
vlc
yt-dlp
];
}

View File

@ -0,0 +1,7 @@
{ ... }: {
home.sessionVariables = {
# Define environment variables here if needed
# Example: EDITOR = "vim";
};
}

View File

@ -0,0 +1,19 @@
{ pkgs, lib, ... }: {
programs.bash = {
enable = true;
enableCompletion = true;
};
programs.bash.bashrcExtra = ''
eval "$(starship init bash)"
'';
programs.zoxide = {
enable = true;
enableBashIntegration = true;
options = [
"--cmd cd"
];
};
}

View File

@ -0,0 +1,9 @@
{ pkgs, ... }: {
programs.kitty.enable = true;
home.packages = with pkgs; [
kitty
alacritty
];
}

View File

@ -0,0 +1,20 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
tree
unzip
udisks
usbutils
udiskie
nautilus
neofetch
firefox
discord
bat
btop
ags
];
programs.bat.enable = true;
programs.btop.enable = true;
}

11
nixos/system/asus.nix Normal file
View File

@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }: {
# Enable the supergfxd service
services.supergfxd.enable = true;
# Enable ASUS daemon services
services.asusd = {
enable = true;
enableUserService = true;
};
}

11
nixos/system/audio.nix Normal file
View File

@ -0,0 +1,11 @@
{ pkgs, ... }: {
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
}

View File

@ -0,0 +1,6 @@
{ ... }: {
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;
services.blueman.enable = true;
}

View File

@ -0,0 +1,9 @@
{ inputs, pkgs, ... }: {
programs.hyprland = {
enable = true;
xwayland.enable = true;
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
}

View File

@ -0,0 +1,12 @@
{ pkgs, lib, ... }: {
services.displayManager = {
sddm = {
enable = true;
wayland.enable = true;
theme = "sddm-astronaut-theme";
package = lib.mkDefault pkgs.kdePackages.sddm;
extraPackages = [ pkgs.sddm-astronaut pkgs.kdePackages.qtvirtualkeyboard ];
};
};
}

9
nixos/system/fonts.nix Normal file
View File

@ -0,0 +1,9 @@
{ pkgs, ... }: {
fonts.packages = with pkgs; [
noto-fonts
noto-fonts-emoji
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
monaspace
];
}

View File

@ -0,0 +1,17 @@
{
inputs,
pkgs,
...
}: {
imports = [
inputs.home-manager.nixosModules.home-manager
];
home-manager = {
extraSpecialArgs = { inherit inputs pkgs; };
backupFileExtension = "backup";
users = {
shibazaki = import ./../../users/shibazaki/home.nix;
};
};
}

View File

@ -0,0 +1,7 @@
{ ... }: {
services.xserver = {
xkb.layout = "us,cz";
xkb.options = "grp:win_space_toggle";
};
}

View File

@ -0,0 +1,5 @@
{ ... }: {
networking.hostName = "nixos";
networking.networkmanager.enable = true;
}

View File

@ -0,0 +1,23 @@
{ ... }: {
services.tor = {
enable = true;
client.enable = true;
};
programs.proxychains = {
enable = true;
chain.type = "dynamic";
proxies = {
tor-proxy = {
enable = true;
type = "socks5";
host = "127.0.0.1";
port = 9050;
};
};
};
programs.wireshark.enable = true;
programs.firefox.enable = true;
}

30
nixos/system/stylix.nix Normal file
View File

@ -0,0 +1,30 @@
{ pkgs, ... }: {
stylix = {
enable = true;
image = ./../../src/wallpapers/background.png;
base16Scheme = "${pkgs.base16-schemes}/share/themes/isotope.yaml";
polarity = "dark";
autoEnable = true;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
sizes = {
desktop = 8;
applications = 10;
popups = 10;
terminal = 12;
};
monospace = {
name = "JetBrainsMono Nerd Font";
package = pkgs.nerdfonts.override { fonts = ["JetBrainsMono"]; };
};
};
};
}

View File

@ -0,0 +1,23 @@
{ ... }: {
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "cs_CZ.UTF-8";
LC_IDENTIFICATION = "cs_CZ.UTF-8";
LC_MEASUREMENT = "cs_CZ.UTF-8";
LC_MONETARY = "cs_CZ.UTF-8";
LC_NAME = "cs_CZ.UTF-8";
LC_NUMERIC = "cs_CZ.UTF-8";
LC_PAPER = "cs_CZ.UTF-8";
LC_TELEPHONE = "cs_CZ.UTF-8";
LC_TIME = "cs_CZ.UTF-8";
};
};
time.timeZone = "Europe/Prague";
nixpkgs.config.allowUnfree = true;
boot.loader.systemd-boot.enable = true;
}

View File

@ -0,0 +1,8 @@
{ pkgs, ... }: {
users.users.shibazaki = {
isNormalUser = true;
description = "shibazaki";
extraGroups = ["wheel" "networkmanager"];
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 KiB

View File

@ -0,0 +1,27 @@
{
inputs,
pkgs,
lib,
...
}: {
imports = [
./hardware-configuration.nix
./../../nixos/system/home-manager.nix
./../../nixos/system/user-configuration.nix
./../../nixos/system/desktop-environment.nix
./../../nixos/system/audio.nix
./../../nixos/system/fonts.nix
./../../nixos/system/input-devices.nix
./../../nixos/system/networking.nix
./../../nixos/system/bluetooth.nix
./../../nixos/system/display-manager.nix
./../../nixos/system/security-and-privacy.nix
./../../nixos/system/stylix.nix
./../../nixos/system/system-settings.nix
];
# Global configuration
nix.settings.experimental-features = ["nix-command" "flakes"];
system.stateVersion = "24.11"; # Did you read the comment?
}

View File

@ -0,0 +1,39 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/f9c2e925-dfba-49f0-abcc-f9c9747648a6";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/08B0-7673";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

26
users/shibazaki/home.nix Normal file
View File

@ -0,0 +1,26 @@
{
pkgs,
lib,
...
}: {
home.username = "shibazaki";
home.homeDirectory = "/home/shibazaki";
imports = [
./../../nixos/home/imports/hyprland.nix
./../../nixos/home/imports/starship.nix
./../../nixos/home/modules/shell.nix
./../../nixos/home/modules/git.nix
./../../nixos/home/modules/editors.nix
./../../nixos/home/modules/terminal.nix
./../../nixos/home/modules/media.nix
./../../nixos/home/modules/development.nix
./../../nixos/home/modules/games.nix
./../../nixos/home/modules/utilities.nix
./../../nixos/home/modules/environment.nix
./../../nixos/home/modules/session-variables.nix
];
home.stateVersion = "24.11"; # Please read the comment before changing.
}