commit 4dd01652ed18957728f26662788b74ed318c807b Author: shibazaki Date: Sat Jan 11 22:07:56 2025 +0100 Initial commit diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..b8b7286 --- /dev/null +++ b/flake.lock @@ -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 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..14f9c16 --- /dev/null +++ b/flake.nix @@ -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 + ]; + }; + }; +} + diff --git a/nixos/home/imports/dependencies.nix b/nixos/home/imports/dependencies.nix new file mode 100644 index 0000000..820d8c2 --- /dev/null +++ b/nixos/home/imports/dependencies.nix @@ -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"; + }; +} diff --git a/nixos/home/imports/hyprland.nix b/nixos/home/imports/hyprland.nix new file mode 100644 index 0000000..f74dcaf --- /dev/null +++ b/nixos/home/imports/hyprland.nix @@ -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" + ]; + }; + }; +} diff --git a/nixos/home/imports/starship.nix b/nixos/home/imports/starship.nix new file mode 100644 index 0000000..6ddf540 --- /dev/null +++ b/nixos/home/imports/starship.nix @@ -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) "; + }; + }; + }; +} diff --git a/nixos/home/modules/development.nix b/nixos/home/modules/development.nix new file mode 100644 index 0000000..3c0204a --- /dev/null +++ b/nixos/home/modules/development.nix @@ -0,0 +1,10 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + dotnet-sdk + godot_4 + blender + krita + inkscape + ]; +} + diff --git a/nixos/home/modules/editors.nix b/nixos/home/modules/editors.nix new file mode 100644 index 0000000..2073bdd --- /dev/null +++ b/nixos/home/modules/editors.nix @@ -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 + ]; + }; +} + diff --git a/nixos/home/modules/environment.nix b/nixos/home/modules/environment.nix new file mode 100644 index 0000000..480a3bd --- /dev/null +++ b/nixos/home/modules/environment.nix @@ -0,0 +1,12 @@ +{ pkgs, ... }: { + home.file = { + # Add dotfiles or other configuration files here if needed + }; + + home.packages = with pkgs; [ + netbeans + wineWowPackages.stable + winetricks + ]; +} + diff --git a/nixos/home/modules/games.nix b/nixos/home/modules/games.nix new file mode 100644 index 0000000..8464849 --- /dev/null +++ b/nixos/home/modules/games.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + prismlauncher + lunar-client + ]; +} + diff --git a/nixos/home/modules/git.nix b/nixos/home/modules/git.nix new file mode 100644 index 0000000..b534a7d --- /dev/null +++ b/nixos/home/modules/git.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + programs.git = { + enable = true; + userName = "shibazaki"; + userEmail = "shibazaki@example.com"; + }; +} + diff --git a/nixos/home/modules/media.nix b/nixos/home/modules/media.nix new file mode 100644 index 0000000..116c5c3 --- /dev/null +++ b/nixos/home/modules/media.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + home.packages = with pkgs; [ + ani-cli + mpv + vlc + yt-dlp + ]; +} + diff --git a/nixos/home/modules/session-variables.nix b/nixos/home/modules/session-variables.nix new file mode 100644 index 0000000..2a73ac0 --- /dev/null +++ b/nixos/home/modules/session-variables.nix @@ -0,0 +1,7 @@ +{ ... }: { + home.sessionVariables = { + # Define environment variables here if needed + # Example: EDITOR = "vim"; + }; +} + diff --git a/nixos/home/modules/shell.nix b/nixos/home/modules/shell.nix new file mode 100644 index 0000000..1707281 --- /dev/null +++ b/nixos/home/modules/shell.nix @@ -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" + ]; + }; +} + diff --git a/nixos/home/modules/terminal.nix b/nixos/home/modules/terminal.nix new file mode 100644 index 0000000..16a0430 --- /dev/null +++ b/nixos/home/modules/terminal.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + programs.kitty.enable = true; + + home.packages = with pkgs; [ + kitty + alacritty + ]; +} + diff --git a/nixos/home/modules/utilities.nix b/nixos/home/modules/utilities.nix new file mode 100644 index 0000000..72ee306 --- /dev/null +++ b/nixos/home/modules/utilities.nix @@ -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; +} + diff --git a/nixos/system/asus.nix b/nixos/system/asus.nix new file mode 100644 index 0000000..55ed74d --- /dev/null +++ b/nixos/system/asus.nix @@ -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; + }; +} + diff --git a/nixos/system/audio.nix b/nixos/system/audio.nix new file mode 100644 index 0000000..a5fcf1d --- /dev/null +++ b/nixos/system/audio.nix @@ -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; + }; +} + diff --git a/nixos/system/bluetooth.nix b/nixos/system/bluetooth.nix new file mode 100644 index 0000000..26774df --- /dev/null +++ b/nixos/system/bluetooth.nix @@ -0,0 +1,6 @@ +{ ... }: { + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; +} + diff --git a/nixos/system/desktop-environment.nix b/nixos/system/desktop-environment.nix new file mode 100644 index 0000000..d619f08 --- /dev/null +++ b/nixos/system/desktop-environment.nix @@ -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; + }; +} + diff --git a/nixos/system/display-manager.nix b/nixos/system/display-manager.nix new file mode 100644 index 0000000..455173f --- /dev/null +++ b/nixos/system/display-manager.nix @@ -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 ]; + }; + }; +} + diff --git a/nixos/system/fonts.nix b/nixos/system/fonts.nix new file mode 100644 index 0000000..1b4843d --- /dev/null +++ b/nixos/system/fonts.nix @@ -0,0 +1,9 @@ +{ pkgs, ... }: { + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-emoji + (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) + monaspace + ]; +} + diff --git a/nixos/system/home-manager.nix b/nixos/system/home-manager.nix new file mode 100644 index 0000000..d27e0aa --- /dev/null +++ b/nixos/system/home-manager.nix @@ -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; + }; + }; +} + diff --git a/nixos/system/input-devices.nix b/nixos/system/input-devices.nix new file mode 100644 index 0000000..4af1f79 --- /dev/null +++ b/nixos/system/input-devices.nix @@ -0,0 +1,7 @@ +{ ... }: { + services.xserver = { + xkb.layout = "us,cz"; + xkb.options = "grp:win_space_toggle"; + }; +} + diff --git a/nixos/system/networking.nix b/nixos/system/networking.nix new file mode 100644 index 0000000..4f75a99 --- /dev/null +++ b/nixos/system/networking.nix @@ -0,0 +1,5 @@ +{ ... }: { + networking.hostName = "nixos"; + networking.networkmanager.enable = true; +} + diff --git a/nixos/system/security-and-privacy.nix b/nixos/system/security-and-privacy.nix new file mode 100644 index 0000000..b794f1e --- /dev/null +++ b/nixos/system/security-and-privacy.nix @@ -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; +} + diff --git a/nixos/system/stylix.nix b/nixos/system/stylix.nix new file mode 100644 index 0000000..4cb0797 --- /dev/null +++ b/nixos/system/stylix.nix @@ -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"]; }; + }; + }; + }; +} + diff --git a/nixos/system/system-settings.nix b/nixos/system/system-settings.nix new file mode 100644 index 0000000..02b07a8 --- /dev/null +++ b/nixos/system/system-settings.nix @@ -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; +} + diff --git a/nixos/system/user-configuration.nix b/nixos/system/user-configuration.nix new file mode 100644 index 0000000..eec65b2 --- /dev/null +++ b/nixos/system/user-configuration.nix @@ -0,0 +1,8 @@ +{ pkgs, ... }: { + users.users.shibazaki = { + isNormalUser = true; + description = "shibazaki"; + extraGroups = ["wheel" "networkmanager"]; + }; +} + diff --git a/src/wallpapers/background.png b/src/wallpapers/background.png new file mode 100644 index 0000000..a094102 Binary files /dev/null and b/src/wallpapers/background.png differ diff --git a/users/shibazaki/configuration.nix b/users/shibazaki/configuration.nix new file mode 100644 index 0000000..8c16ad6 --- /dev/null +++ b/users/shibazaki/configuration.nix @@ -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? +} + diff --git a/users/shibazaki/hardware-configuration.nix b/users/shibazaki/hardware-configuration.nix new file mode 100644 index 0000000..a2491a8 --- /dev/null +++ b/users/shibazaki/hardware-configuration.nix @@ -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..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; +} diff --git a/users/shibazaki/home.nix b/users/shibazaki/home.nix new file mode 100644 index 0000000..7b0d0f6 --- /dev/null +++ b/users/shibazaki/home.nix @@ -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. +} +