treewide: refactor to use flake-parts #39

Merged
notohh merged 4 commits from refactor-flake-parts into master 2024-04-17 14:56:41 -04:00
44 changed files with 257 additions and 214 deletions
Showing only changes of commit 253dd58346 - Show all commits

View file

@ -1,5 +1,5 @@
{ {
"yaml.schemas": { "yaml.schemas": {
"https://raw.githubusercontent.com/woodpecker-ci/woodpecker/main/pipeline/frontend/yaml/linter/schema/schema.json": "file:///home/notoh/snowflake/.woodpecker" "https://raw.githubusercontent.com/woodpecker-ci/woodpecker/main/pipeline/frontend/yaml/linter/schema/schema.json": "file:///home/notoh/snowflake/.woodpecker"
} }
} }

View file

@ -1,51 +1,6 @@
{ {
description = "snowflake"; description = "snowflake";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hyprland.url = "github:hyprwm/Hyprland";
ags.url = "github:Aylur/ags";
nix-gaming.url = "github:fufexan/nix-gaming";
attic.url = "github:zhaofengli/attic";
nur.url = "github:nix-community/NUR";
yazi.url = "github:sxyazi/yazi";
helix.url = "github:helix-editor/helix";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
wezterm.url = "github:notohh/wezterm?dir=nix&ref=nix-add-overlay";
hypridle.url = "github:hyprwm/hypridle";
hyprlock.url = "github:hyprwm/hyprlock";
hyprpicker.url = "github:hyprwm/hyprpicker";
hyprcursor.url = "github:hyprwm/hyprcursor";
xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
atuin.url = "github:atuinsh/atuin";
flake-parts.url = "github:hercules-ci/flake-parts";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
anyrun = {
url = "github:Kirottu/anyrun";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = inputs: outputs = inputs:
inputs.flake-parts.lib.mkFlake {inherit inputs;} { inputs.flake-parts.lib.mkFlake {inherit inputs;} {
imports = [ imports = [
@ -66,7 +21,6 @@
excludes = ["flake.lock"]; excludes = ["flake.lock"];
hooks = { hooks = {
stylua.enable = true; stylua.enable = true;
eslint.enable = true;
statix.enable = true; statix.enable = true;
alejandra.enable = true; alejandra.enable = true;
deadnix = { deadnix = {
@ -76,6 +30,9 @@
prettier = { prettier = {
enable = true; enable = true;
files = "\\.(js|ts|md|json)$"; files = "\\.(js|ts|md|json)$";
settings = {
trailing-comma = "none";
};
}; };
}; };
}; };
@ -94,4 +51,51 @@
formatter = pkgs.alejandra; formatter = pkgs.alejandra;
}; };
}; };
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hyprland.url = "github:hyprwm/Hyprland";
hypridle.url = "github:hyprwm/hypridle";
hyprlock.url = "github:hyprwm/hyprlock";
hyprpicker.url = "github:hyprwm/hyprpicker";
hyprcursor.url = "github:hyprwm/hyprcursor";
xdg-portal-hyprland.url = "github:hyprwm/xdg-desktop-portal-hyprland";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
ags.url = "github:Aylur/ags";
nix-gaming.url = "github:fufexan/nix-gaming";
attic.url = "github:zhaofengli/attic";
nur.url = "github:nix-community/NUR";
yazi.url = "github:sxyazi/yazi";
helix.url = "github:helix-editor/helix";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
wezterm.url = "github:notohh/wezterm?dir=nix&ref=nix-add-overlay";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
atuin.url = "github:atuinsh/atuin";
flake-parts.url = "github:hercules-ci/flake-parts";
deploy-rs = {
url = "github:serokell/deploy-rs";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:Mic92/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
anyrun = {
url = "github:Kirottu/anyrun";
inputs.nixpkgs.follows = "nixpkgs";
};
};
} }

View file

@ -1,10 +1,45 @@
{inputs, ...}: { {pkgs, ...}: {
systemd.user.startServices = "sd-switch"; systemd.user.startServices = "sd-switch";
programs.home-manager.enable = true; programs.home-manager.enable = true;
imports = [
./programs/editors/helix
./programs/terminal/lazygit
./programs/terminal/neofetch
./programs/terminal/nushell
./programs/terminal/yazi
./programs/terminal/atuin.nix
./programs/terminal/bat.nix
./programs/terminal/starship.nix
./programs/terminal/zoxide.nix
./programs/direnv.nix
./programs/git.nix
];
home = { home = {
username = "notoh"; username = "notoh";
homeDirectory = "/home/notoh"; homeDirectory = "/home/notoh";
packages = with pkgs; [
wget
croc
eza
eva
fd
du-dust
bottom
gnupg
ripgrep
lazydocker
yt-dlp
nfs-utils
dig
tailspin
nitch
unzip
unrar
p7zip
procs
];
stateVersion = "23.05"; stateVersion = "23.05";
}; };
} }

View file

@ -1,10 +1,28 @@
{pkgs, ...}: { {
inputs,
pkgs,
...
}: {
imports = [ imports = [
../common.nix inputs.hyprland.homeManagerModules.default
inputs.anyrun.homeManagerModules.default
inputs.ags.homeManagerModules.default
inputs.nix-index-database.hmModules.nix-index
../../services
../../programs/ags
../../programs/anyrun
../../programs/browsers/firefox
../../programs/browsers/chromium
../../programs/terminal/wezterm
../../programs/terminal/zellij
../../programs/gtk.nix
../../programs/media/cava.nix
../../programs/mako.nix
../../programs/media/spotify-player.nix
../../programs/media/zathura.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
chromium
discord discord
pavucontrol pavucontrol
imv imv
@ -20,7 +38,7 @@
wl-clipboard wl-clipboard
swww swww
hyprpicker hyprpicker
(libsForQt5.callPackage ../../pkgs/chatterino7 {}) (libsForQt5.callPackage ../../../pkgs/chatterino7 {})
]; ];
programs.ssh = { programs.ssh = {
enable = true; enable = true;

View file

@ -1,37 +0,0 @@
{pkgs, ...}: {
imports = [
../programs/helix
../programs/lazygit
../programs/neofetch
../programs/nushell
../programs/yazi
../programs/atuin.nix
../programs/bat.nix
../programs/direnv.nix
../programs/git.nix
../programs/starship.nix
../programs/zoxide.nix
];
home.packages = with pkgs; [
wget
croc
eza
eva
fd
du-dust
bottom
gnupg
ripgrep
lazydocker
yt-dlp
nfs-utils
dig
tailspin
nitch
unzip
unrar
p7zip
procs
];
}

View file

@ -1,5 +1,4 @@
{ {
imports = [ imports = [
../common.nix
]; ];
} }

View file

@ -10,25 +10,24 @@
inputs.hypridle.homeManagerModules.default inputs.hypridle.homeManagerModules.default
inputs.hyprlock.homeManagerModules.default inputs.hyprlock.homeManagerModules.default
inputs.nix-index-database.hmModules.nix-index inputs.nix-index-database.hmModules.nix-index
../common.nix
../../services ../../services
../../programs/ags ../../programs/ags
../../programs/anyrun ../../programs/anyrun
../../programs/firefox ../../programs/browsers/firefox
../../programs/wezterm ../../programs/browsers/chromium
../../programs/zellij ../../programs/terminal/wezterm
../../programs/terminal/zellij
../../programs/gtk.nix ../../programs/gtk.nix
../../programs/cava.nix ../../programs/media/cava.nix
../../programs/mako.nix ../../programs/mako.nix
../../programs/spotify-player.nix ../../programs/media/spotify-player.nix
../../programs/zathura.nix ../../programs/media/zathura.nix
../../wayland/hyprland ../../wayland/hyprland
../../wayland/services/hypridle.nix ../../wayland/services/hypridle.nix
../../wayland/programs/hyprlock.nix ../../wayland/programs/hyprlock.nix
]; ];
home.packages = with pkgs; [ home.packages = with pkgs; [
chromium
discord discord
signal-desktop signal-desktop
thunderbird thunderbird

View file

@ -19,5 +19,5 @@ export {
SystemTray, SystemTray,
Utils, Utils,
Variable, Variable,
Widget, Widget
}; };

View file

@ -2,8 +2,7 @@ import { Widget } from "../../../import.js";
const nixosLogo = () => const nixosLogo = () =>
Widget.Icon({ Widget.Icon({
icon: icon: "/home/notoh/snowflake/home/ags/config/js/widgets/images/static/nixos.png"
"/home/notoh/snowflake/home/ags/config/js/widgets/images/static/nixos.png",
}); });
export { nixosLogo }; export { nixosLogo };

View file

@ -3,7 +3,7 @@
config, config,
... ...
}: let }: let
configDir = "/home/notoh/snowflake/homeo/programs/ags/config"; configDir = "/home/notoh/snowflake/home/programs/ags/config";
in { in {
programs.ags = { programs.ags = {
enable = true; enable = true;

View file

@ -0,0 +1,5 @@
_: {
programs.chromium = {
enable = true;
};
}

View file

@ -0,0 +1,3 @@
{
"trailingComma": "none"
}

View file

@ -12,11 +12,11 @@
* "Ad meliora" * * "Ad meliora" *
* version: 119 * * version: 119 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* SECTION: FASTFOX * * SECTION: FASTFOX *
****************************************************************************/ ****************************************************************************/
/** GENERAL ***/ /** GENERAL ***/
user_pref("content.notify.interval", 100000); user_pref("content.notify.interval", 100000);
@ -60,11 +60,17 @@ user_pref("dom.security.sanitizer.enabled", true);
/**************************************************************************** /****************************************************************************
* SECTION: SECUREFOX * * SECTION: SECUREFOX *
****************************************************************************/ ****************************************************************************/
/** TRACKING PROTECTION ***/ /** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict"); user_pref("browser.contentblocking.category", "strict");
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"); user_pref(
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com"); "urlclassifier.trackingSkipURLs",
"*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"
);
user_pref(
"urlclassifier.features.socialtracking.skipURLs",
"*.instagram.com, *.twitter.com, *.twimg.com"
);
user_pref("network.cookie.sameSite.noneRequiresSecure", true); user_pref("network.cookie.sameSite.noneRequiresSecure", true);
user_pref("browser.download.start_downloads_in_tmp_dir", true); user_pref("browser.download.start_downloads_in_tmp_dir", true);
user_pref("browser.helperApps.deleteTempFileOnExit", true); user_pref("browser.helperApps.deleteTempFileOnExit", true);
@ -137,7 +143,10 @@ user_pref("browser.safebrowsing.downloads.remote.enabled", false);
/** MOZILLA ***/ /** MOZILLA ***/
user_pref("permissions.default.desktop-notification", 2); user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2); user_pref("permissions.default.geo", 2);
user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"); user_pref(
"geo.provider.network.url",
"https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"
);
user_pref("permissions.manager.defaultsUrl", ""); user_pref("permissions.manager.defaultsUrl", "");
user_pref("webchannel.allowObject.urlWhitelist", ""); user_pref("webchannel.allowObject.urlWhitelist", "");
@ -177,15 +186,21 @@ user_pref("network.connectivity-service.enabled", false);
/**************************************************************************** /****************************************************************************
* SECTION: PESKYFOX * * SECTION: PESKYFOX *
****************************************************************************/ ****************************************************************************/
/** MOZILLA UI ***/ /** MOZILLA UI ***/
user_pref("browser.privatebrowsing.vpnpromourl", ""); user_pref("browser.privatebrowsing.vpnpromourl", "");
user_pref("extensions.getAddons.showPane", false); user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.discovery.enabled", false); user_pref("browser.discovery.enabled", false);
user_pref("browser.shell.checkDefaultBrowser", false); user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); user_pref(
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons",
false
);
user_pref(
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features",
false
);
user_pref("browser.preferences.moreFromMozilla", false); user_pref("browser.preferences.moreFromMozilla", false);
user_pref("browser.tabs.tabmanager.enabled", false); user_pref("browser.tabs.tabmanager.enabled", false);
user_pref("browser.aboutConfig.showWarning", false); user_pref("browser.aboutConfig.showWarning", false);
@ -239,17 +254,17 @@ user_pref("layout.word_select.eat_space_to_next_word", false);
/**************************************************************************** /****************************************************************************
* START: MY OVERRIDES * * START: MY OVERRIDES *
****************************************************************************/ ****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides // visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening // visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line: // Enter your personal overrides below this line:
/**************************************************************************** /****************************************************************************
* SECTION: SMOOTHFOX * * SECTION: SMOOTHFOX *
****************************************************************************/ ****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js // visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line: // Enter your scrolling overrides below this line:
/**************************************************************************** /****************************************************************************
* END: BETTERFOX * * END: BETTERFOX *
****************************************************************************/ ****************************************************************************/

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { _: {
programs = { programs = {
git = { git = {
enable = true; enable = true;

View file

@ -32,6 +32,25 @@
} }
]; ];
}; };
ame = nixosSystem {
inherit specialArgs;
modules = [
./ame
sopsModule
hmModule
t480Module
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = specialArgs;
users.notoh = {
imports = homeImports."notoh@ame";
};
};
}
];
};
sakura = nixosSystem { sakura = nixosSystem {
inherit specialArgs; inherit specialArgs;
modules = [ modules = [
@ -86,25 +105,6 @@
} }
]; ];
}; };
ame = nixosSystem {
inherit specialArgs;
modules = [
./ame
sopsModule
hmModule
t480Module
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = specialArgs;
users.notoh = {
imports = homeImports."notoh@ame";
};
};
}
];
};
arashi = nixosSystem { arashi = nixosSystem {
inherit specialArgs; inherit specialArgs;
modules = [ modules = [

View file

@ -1,87 +1,85 @@
{inputs, ...}: { {inputs, ...}: {
flake = { flake.deploy = {
deploy = { nodes = with inputs.deploy-rs.lib.x86_64-linux; {
nodes = with inputs.deploy-rs.lib.x86_64-linux; { sakura = {
sakura = { hostname = "100.121.201.47";
hostname = "100.121.201.47"; profiles.system = {
profiles.system = { user = "root";
user = "root"; path = activate.nixos inputs.self.nixosConfigurations.sakura;
path = activate.nixos inputs.self.nixosConfigurations.sakura;
};
sshUser = "root";
sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
magicRollback = true;
}; };
kariru = { sshUser = "root";
hostname = "100.126.229.95"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.kariru; kariru = {
}; hostname = "100.126.229.95";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.kariru;
}; };
yuki = { sshUser = "root";
hostname = "100.108.113.89"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.yuki; yuki = {
}; hostname = "100.108.113.89";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.yuki;
}; };
arashi = { sshUser = "root";
hostname = "100.94.214.100"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.arashi; arashi = {
}; hostname = "100.94.214.100";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.arashi;
}; };
sora = { sshUser = "root";
hostname = "100.104.42.96"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.sora; sora = {
}; hostname = "100.104.42.96";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.sora;
}; };
tsuru = { sshUser = "root";
hostname = "100.82.146.40"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.tsuru; tsuru = {
}; hostname = "100.82.146.40";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.tsuru;
}; };
haru = { sshUser = "root";
hostname = "100.73.192.45"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.haru; haru = {
}; hostname = "100.73.192.45";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.haru;
}; };
kaze = { sshUser = "root";
hostname = "100.69.79.81"; sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
profiles.system = { magicRollback = true;
user = "root"; };
path = activate.nixos inputs.self.nixosConfigurations.kaze; kaze = {
}; hostname = "100.69.79.81";
sshUser = "root"; profiles.system = {
sshOpts = ["-t" "-i" "~/.ssh/forgejo"]; user = "root";
magicRollback = true; path = activate.nixos inputs.self.nixosConfigurations.kaze;
}; };
sshUser = "root";
sshOpts = ["-t" "-i" "~/.ssh/forgejo"];
magicRollback = true;
}; };
}; };
}; };

View file

@ -1,4 +1,8 @@
{modulesPath, ...}: { {
modulesPath,
lib,
...
}: {
imports = [(modulesPath + "/profiles/qemu-guest.nix")]; imports = [(modulesPath + "/profiles/qemu-guest.nix")];
zramSwap.enable = true; zramSwap.enable = true;
@ -26,4 +30,5 @@
fsType = "vfat"; fsType = "vfat";
}; };
}; };
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
} }

View file

@ -1,4 +1,4 @@
{inputs, ...}: { _: {
imports = [ imports = [
./prometheus.nix ./prometheus.nix
./security.nix ./security.nix