reformat with alejandra

This commit is contained in:
Adithya 2023-05-18 16:11:26 +05:30
parent 5a385fcedc
commit ccabc0d28a
Signed by: adtya
GPG key ID: 48FC9915FFD326D0
76 changed files with 348 additions and 256 deletions

View file

@ -1,3 +1,3 @@
{ ... }: { {...}: {
imports = [ ./nix.nix ./users ]; imports = [./nix.nix ./users];
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
nix.settings = { nix.settings = {
trusted-substituters = [ trusted-substituters = [
"https://nix-community.cachix.org/" "https://nix-community.cachix.org/"
@ -7,7 +7,7 @@
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
]; ];
auto-optimise-store = true; auto-optimise-store = true;
experimental-features = [ "nix-command" "flakes" "auto-allocate-uids" "cgroups" "ca-derivations" ]; experimental-features = ["nix-command" "flakes" "auto-allocate-uids" "cgroups" "ca-derivations"];
auto-allocate-uids = true; auto-allocate-uids = true;
use-cgroups = true; use-cgroups = true;
}; };

View file

@ -1,8 +1,10 @@
{ pkgs, secrets, ... }:
let
user = (import ../../secrets.nix).users;
in
{ {
pkgs,
secrets,
...
}: let
user = (import ../../secrets.nix).users;
in {
users.mutableUsers = false; users.mutableUsers = false;
users.users = { users.users = {
root.hashedPassword = user.root.hashedPassword; root.hashedPassword = user.root.hashedPassword;
@ -11,7 +13,7 @@ in
hashedPassword = user.primary.hashedPassword; hashedPassword = user.primary.hashedPassword;
description = user.primary.realName; description = user.primary.realName;
isNormalUser = true; isNormalUser = true;
extraGroups = [ "docker" "libvirtd" "networkmanager" "tss" "wheel" ]; extraGroups = ["docker" "libvirtd" "networkmanager" "tss" "wheel"];
shell = pkgs.zsh; shell = pkgs.zsh;
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
user.primary.sshPublicKey user.primary.sshPublicKey

View file

@ -26,16 +26,24 @@
}; };
}; };
outputs = { self, nixpkgs, home-manager, impermanence, lanzaboote, nixvim }@inputs: { outputs = {
formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".nixpkgs-fmt; self,
nixosConfigurations = let user = (import ./secrets.nix).users; in { nixpkgs,
home-manager,
impermanence,
lanzaboote,
nixvim,
} @ inputs: {
formatter."x86_64-linux" = nixpkgs.legacyPackages."x86_64-linux".alejandra;
nixosConfigurations = let
user = (import ./secrets.nix).users;
in {
Skipper = nixpkgs.lib.nixosSystem { Skipper = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = inputs; specialArgs = inputs;
modules = [ modules = [
{ {
nixpkgs.overlays = [ (import ./packages) ]; nixpkgs.overlays = [(import ./packages)];
nixpkgs.hostPlatform = nixpkgs.lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = nixpkgs.lib.mkDefault "x86_64-linux";
system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev; system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev;
} }
@ -51,7 +59,7 @@
home-manager = { home-manager = {
useUserPackages = true; useUserPackages = true;
useGlobalPkgs = true; useGlobalPkgs = true;
users.${user.primary.userName} = { pkgs, ... }: { users.${user.primary.userName} = {pkgs, ...}: {
imports = [ imports = [
impermanence.nixosModules.home-manager.impermanence impermanence.nixosModules.home-manager.impermanence
nixvim.homeManagerModules.nixvim nixvim.homeManagerModules.nixvim
@ -81,7 +89,7 @@
home-manager = { home-manager = {
useUserPackages = true; useUserPackages = true;
useGlobalPkgs = true; useGlobalPkgs = true;
users.${user.primary.userName} = { pkgs, ... }: { users.${user.primary.userName} = {pkgs, ...}: {
imports = [ imports = [
./home/common ./home/common
./home/server ./home/server

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ ./programs ./services ]; imports = [./programs ./services];
home.stateVersion = "23.05"; home.stateVersion = "23.05";
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.bat = { programs.bat = {
enable = true; enable = true;
config = { config = {

View file

@ -1,5 +1,4 @@
{ ... }: { {...}: {
xdg.desktopEntries."btop" = { xdg.desktopEntries."btop" = {
name = "btop++"; name = "btop++";
exec = "btop"; exec = "btop";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
imports = [ imports = [
./bat.nix ./bat.nix
./btop.nix ./btop.nix

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.direnv = { programs.direnv = {
enable = true; enable = true;
nix-direnv.enable = true; nix-direnv.enable = true;

View file

@ -1,8 +1,8 @@
{ ... }: { {...}: {
programs.exa = { programs.exa = {
enable = true; enable = true;
enableAliases = true; enableAliases = true;
extraOptions = [ "--group-directories-first" "--group" ]; extraOptions = ["--group-directories-first" "--group"];
git = true; git = true;
icons = true; icons = true;
}; };

View file

@ -1,8 +1,6 @@
{ ... }: {...}: let
let
user = (import ../../../secrets.nix).users; user = (import ../../../secrets.nix).users;
in in {
{
programs.git = { programs.git = {
enable = true; enable = true;
diff-so-fancy = { diff-so-fancy = {
@ -18,6 +16,6 @@ in
init.defaultBranch = "main"; init.defaultBranch = "main";
push.autoSetupRemote = true; push.autoSetupRemote = true;
}; };
ignores = [ "/.nix" "/.direnv" ]; ignores = ["/.nix" "/.direnv"];
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: { {...}: {
programs.starship = { programs.starship = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,8 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
defaultKeymap = "viins"; defaultKeymap = "viins";

View file

@ -1 +1 @@
{ ... }: { } {...}: {}

View file

@ -1,5 +1,5 @@
{ ... }: { {...}: {
imports = [ ./programs ./services ./wm ./gtk.nix ./persistence.nix ]; imports = [./programs ./services ./wm ./gtk.nix ./persistence.nix];
xdg.enable = true; xdg.enable = true;
xdg.mime.enable = true; xdg.mime.enable = true;

View file

@ -1,5 +1,8 @@
{ lib, pkgs, ... }: {
let lib,
pkgs,
...
}: let
gtkTheme = { gtkTheme = {
name = "Dracula"; name = "Dracula";
package = pkgs.dracula-gtk; package = pkgs.dracula-gtk;
@ -17,8 +20,7 @@ let
name = "Bibata-Modern-Classic"; name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
}; };
in in {
{
gtk.enable = true; gtk.enable = true;
gtk.theme = gtkTheme; gtk.theme = gtkTheme;
home.sessionVariables.GTK_THEME = gtkTheme.name; home.sessionVariables.GTK_THEME = gtkTheme.name;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
home.persistence."/persist/home" = { home.persistence."/persist/home" = {
allowOther = true; allowOther = true;
directories = [ directories = [
@ -20,15 +20,42 @@
".mozilla" ".mozilla"
".nixos-config" ".nixos-config"
".ssh" ".ssh"
{ directory = "Documents"; method = "symlink"; } {
{ directory = "Downloads"; method = "symlink"; } directory = "Documents";
{ directory = "Music"; method = "symlink"; } method = "symlink";
{ directory = "Others"; method = "symlink"; } }
{ directory = "Pictures"; method = "symlink"; } {
{ directory = "Projects"; method = "symlink"; } directory = "Downloads";
{ directory = "Public"; method = "symlink"; } method = "symlink";
{ directory = "Templates"; method = "symlink"; } }
{ directory = "Videos"; method = "symlink"; } {
directory = "Music";
method = "symlink";
}
{
directory = "Others";
method = "symlink";
}
{
directory = "Pictures";
method = "symlink";
}
{
directory = "Projects";
method = "symlink";
}
{
directory = "Public";
method = "symlink";
}
{
directory = "Templates";
method = "symlink";
}
{
directory = "Videos";
method = "symlink";
}
]; ];
files = [ files = [

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.aria2 = { programs.aria2 = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
imports = [ imports = [
./aria2.nix ./aria2.nix
./files.nix ./files.nix
@ -25,7 +25,7 @@
spotify-tui spotify-tui
wl-clipboard wl-clipboard
xdg-utils xdg-utils
# yubioath-flutter # yubioath-flutter
yubikey-manager yubikey-manager
yubikey-manager-qt yubikey-manager-qt
yubikey-personalization yubikey-personalization

View file

@ -1,5 +1,5 @@
{ pkgs, ... }: { {pkgs, ...}: {
home.packages = [ pkgs.gnome.nautilus ]; home.packages = [pkgs.gnome.nautilus];
dconf.settings = { dconf.settings = {
"io/elementary/files/preferences" = { "io/elementary/files/preferences" = {
singleclick-select = true; singleclick-select = true;

View file

@ -1,4 +1,8 @@
{ pkgs, osConfig, ... }: { {
pkgs,
osConfig,
...
}: {
programs = { programs = {
firefox = { firefox = {
enable = true; enable = true;

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.gh = { programs.gh = {
enable = true; enable = true;
settings.git_protocol = "ssh"; settings.git_protocol = "ssh";
extensions = [ pkgs.gh-dash ]; extensions = [pkgs.gh-dash];
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.gpg = { programs.gpg = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,16 +1,14 @@
{ pkgs, ... }: {pkgs, ...}: let
let
dracula = pkgs.fetchFromGitHub { dracula = pkgs.fetchFromGitHub {
owner = "dracula"; owner = "dracula";
repo = "kitty"; repo = "kitty";
rev = "87717a3f00e3dff0fc10c93f5ff535ea4092de70"; rev = "87717a3f00e3dff0fc10c93f5ff535ea4092de70";
hash = "sha256-78PTH9wE6ktuxeIxrPp0ZgRI8ST+eZ3Ok2vW6BCIZkc="; hash = "sha256-78PTH9wE6ktuxeIxrPp0ZgRI8ST+eZ3Ok2vW6BCIZkc=";
}; };
in in {
{
programs.kitty = { programs.kitty = {
enable = true; enable = true;
font.package = pkgs.nerdfonts.override { fonts = [ "FiraCode" ]; }; font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];};
font.name = "FiraCode Nerd Font"; font.name = "FiraCode Nerd Font";
extraConfig = '' extraConfig = ''
font_size 14 font_size 14

View file

@ -1,15 +1,19 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
programs.mpv = { programs.mpv = {
enable = true; enable = true;
package = pkgs.mpv.override { youtubeSupport = true; }; package = pkgs.mpv.override {youtubeSupport = true;};
config = { config = {
cache = "yes"; cache = "yes";
cache-secs = "20"; cache-secs = "20";
hwdec = "auto-safe"; hwdec = "auto-safe";
gpu-context = "wayland"; gpu-context = "wayland";
}; };
defaultProfiles = [ "gpu-hq" ]; defaultProfiles = ["gpu-hq"];
scripts = with pkgs.mpvScripts; [ mpris ]; scripts = with pkgs.mpvScripts; [mpris];
}; };
xdg.desktopEntries = { xdg.desktopEntries = {

View file

@ -1,4 +1,8 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
programs.nixvim = { programs.nixvim = {
enable = true; enable = true;
vimAlias = true; vimAlias = true;
@ -62,7 +66,7 @@
}; };
}; };
}; };
extraPlugins = with pkgs.vimPlugins; [ dracula-nvim git-blame-nvim ]; extraPlugins = with pkgs.vimPlugins; [dracula-nvim git-blame-nvim];
colorscheme = "dracula"; colorscheme = "dracula";
plugins = { plugins = {
comment-nvim.enable = true; comment-nvim.enable = true;
@ -73,12 +77,12 @@
enable = true; enable = true;
snippet.expand = "luasnip"; snippet.expand = "luasnip";
sources = [ sources = [
{ name = "buffer"; } {name = "buffer";}
{ name = "nvim_lsp"; } {name = "nvim_lsp";}
{ name = "nvim_lsp_document_symbol"; } {name = "nvim_lsp_document_symbol";}
{ name = "nvim_lsp_signature_help"; } {name = "nvim_lsp_signature_help";}
{ name = "treesitter"; } {name = "treesitter";}
{ name = "luasnip"; } {name = "luasnip";}
]; ];
}; };
cmp-buffer.enable = true; cmp-buffer.enable = true;
@ -165,15 +169,15 @@
servers = { servers = {
gopls = { gopls = {
enable = true; enable = true;
filetypes = [ "go" ]; filetypes = ["go"];
}; };
nil_ls = { nil_ls = {
enable = true; enable = true;
filetypes = [ "nix" ]; filetypes = ["nix"];
}; };
rust-analyzer = { rust-analyzer = {
enable = true; enable = true;
filetypes = [ "rs" ]; filetypes = ["rs"];
}; };
}; };
}; };

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
escapeTime = 0; escapeTime = 0;

View file

@ -1,18 +1,18 @@
{ pkgs, ... }: { {pkgs, ...}: {
home.packages = [ pkgs.virt-manager ]; home.packages = [pkgs.virt-manager];
dconf.settings = { dconf.settings = {
"org/virt-manager/virt-manager/confirm" = { "org/virt-manager/virt-manager/confirm" = {
forcepoweroff = false; forcepoweroff = false;
}; };
"org/virt-manager/virt-manager/connections" = { "org/virt-manager/virt-manager/connections" = {
autoconnect = [ "qemu:///system" ]; autoconnect = ["qemu:///system"];
uris = [ "qemu:///system" ]; uris = ["qemu:///system"];
}; };
"org/virt-manager/virt-manager/new-vm" = { firmware = "uefi"; }; "org/virt-manager/virt-manager/new-vm" = {firmware = "uefi";};
"org/virt-manager/virt-manager/stats" = { "org/virt-manager/virt-manager/stats" = {
enable-disk-poll = true; enable-disk-poll = true;
enable-net-poll = true; enable-net-poll = true;
}; };
"org/virt-manager/virt-manager/vmlist-fields" = { network-traffic = true; }; "org/virt-manager/virt-manager/vmlist-fields" = {network-traffic = true;};
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.yt-dlp = { programs.yt-dlp = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,12 +1,16 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
systemd.user.services.aria2c = { systemd.user.services.aria2c = {
Unit = { Unit = {
Description = "Aria2c Download Manager"; Description = "Aria2c Download Manager";
Documentation = [ "man:aria2c(1)" ]; Documentation = ["man:aria2c(1)"];
After = [ "network.target" ]; After = ["network.target"];
}; };
Install = { Install = {
WantedBy = [ "default.target" ]; WantedBy = ["default.target"];
}; };
Service = { Service = {
Type = "simple"; Type = "simple";

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./aria2c.nix ./aria2c.nix
./gpg-agent.nix ./gpg-agent.nix

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services = { services = {
gpg-agent = { gpg-agent = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
services = { services = {
spotifyd = { spotifyd = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./rofi ./rofi
./waybar ./waybar

View file

@ -1,9 +1,11 @@
{ config, pkgs, ... }: {
let config,
pkgs,
...
}: let
dmenu = "${config.programs.rofi.package}/bin/rofi -dmenu"; dmenu = "${config.programs.rofi.package}/bin/rofi -dmenu";
firefox = "${config.programs.firefox.package}/bin/firefox"; firefox = "${config.programs.firefox.package}/bin/firefox";
in in {
{
services.dunst = { services.dunst = {
enable = true; enable = true;
iconTheme.name = config.gtk.iconTheme.name; iconTheme.name = config.gtk.iconTheme.name;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services.kanshi = { services.kanshi = {
enable = true; enable = true;
systemdTarget = "graphical-session.target"; systemdTarget = "graphical-session.target";

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
programs.rofi = { programs.rofi = {
enable = true; enable = true;
cycle = false; cycle = false;
@ -21,5 +21,4 @@
noDisplay = true; noDisplay = true;
}; };
}; };
} }

View file

@ -1,9 +1,7 @@
{ pkgs, ... }: {pkgs, ...}: let
let
swaylock = "${pkgs.swaylock}/bin/swaylock"; swaylock = "${pkgs.swaylock}/bin/swaylock";
hyprctl = "${pkgs.hyprland}/bin/hyprctl"; hyprctl = "${pkgs.hyprland}/bin/hyprctl";
in in {
{
services.swayidle = { services.swayidle = {
enable = true; enable = true;
systemdTarget = "graphical-session.target"; systemdTarget = "graphical-session.target";

View file

@ -1,8 +1,12 @@
{ config, pkgs, ... }: { {
config,
pkgs,
...
}: {
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = pkgs.waybar.overrideAttrs (oldAttrs: { package = pkgs.waybar.overrideAttrs (oldAttrs: {
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; mesonFlags = oldAttrs.mesonFlags ++ ["-Dexperimental=true"];
}); });
systemd.enable = true; systemd.enable = true;
style = ./style.css; style = ./style.css;
@ -11,9 +15,9 @@
layer = "top"; layer = "top";
position = "top"; position = "top";
height = 28; height = 28;
modules-left = [ "sway/workspaces" "wlr/workspaces" "sway/window" "hyprland/window" "sway/mode" "hyprland/submap" ]; modules-left = ["sway/workspaces" "wlr/workspaces" "sway/window" "hyprland/window" "sway/mode" "hyprland/submap"];
modules-center = [ ]; modules-center = [];
modules-right = [ "tray" "idle_inhibitor" "network" "bluetooth" "pulseaudio" "backlight" "battery" "clock" ]; modules-right = ["tray" "idle_inhibitor" "network" "bluetooth" "pulseaudio" "backlight" "battery" "clock"];
"sway/mode" = { "sway/mode" = {
"format" = "{}"; "format" = "{}";
}; };
@ -36,7 +40,7 @@
}; };
"backlight" = { "backlight" = {
"format" = "{icon}"; "format" = "{icon}";
"format-icons" = [ "󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠" ]; "format-icons" = ["󰃚" "󰃛" "󰃜" "󰃝" "󰃞" "󰃟" "󰃠"];
}; };
"battery" = { "battery" = {
"states" = { "states" = {
@ -48,7 +52,7 @@
"format-alt" = "{icon} {capacity}% ({time})"; "format-alt" = "{icon} {capacity}% ({time})";
"format-charging" = "󰂄 {capacity}%"; "format-charging" = "󰂄 {capacity}%";
"format-plugged" = "󰚥 {capacity}%"; "format-plugged" = "󰚥 {capacity}%";
"format-icons" = [ "󰂃" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ]; "format-icons" = ["󰂃" "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹"];
"tooltip" = false; "tooltip" = false;
}; };
"network" = { "network" = {
@ -71,7 +75,7 @@
"headphones" = "󰋋"; "headphones" = "󰋋";
"headset" = "󰋎"; "headset" = "󰋎";
"car" = "󰄋"; "car" = "󰄋";
"default" = [ "󰕿" "󰖀" "󰕾" ]; "default" = ["󰕿" "󰖀" "󰕾"];
}; };
"on-click" = "${pkgs.pavucontrol}/bin/pavucontrol"; "on-click" = "${pkgs.pavucontrol}/bin/pavucontrol";
}; };

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./hyprland ./hyprland
./sway ./sway

View file

@ -1,5 +1,8 @@
{ config, pkgs, ... }: {
let config,
pkgs,
...
}: let
dbus-update-activation-environment = "${pkgs.dbus}/bin/dbus-update-activation-environment"; dbus-update-activation-environment = "${pkgs.dbus}/bin/dbus-update-activation-environment";
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
grim = "${pkgs.grim}/bin/grim"; grim = "${pkgs.grim}/bin/grim";
@ -14,8 +17,7 @@ let
xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir"; xdg-user-dir = "${pkgs.xdg-user-dirs}/bin/xdg-user-dir";
change-wallpaper = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers"; change-wallpaper = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
wallhaven-wallpaper = "${pkgs.scripts}/bin/wallhaven"; wallhaven-wallpaper = "${pkgs.scripts}/bin/wallhaven";
in in {
{
home.packages = with pkgs; [ home.packages = with pkgs; [
hyprland hyprland
]; ];
@ -23,11 +25,11 @@ in
systemd.user.targets = { systemd.user.targets = {
hyprland-session = { hyprland-session = {
Unit = { Unit = {
After = [ "graphical-session-pre.target" ]; After = ["graphical-session-pre.target"];
BindsTo = [ "graphical-session.target" ]; BindsTo = ["graphical-session.target"];
Description = "Hyprland session"; Description = "Hyprland session";
Documentation = [ "man:systemd.special(7)" ]; Documentation = ["man:systemd.special(7)"];
Wants = [ "graphical-session-pre.target" ]; Wants = ["graphical-session-pre.target"];
}; };
}; };
}; };

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
wayland.windowManager.sway = { wayland.windowManager.sway = {
enable = true; enable = true;
systemdIntegration = true; systemdIntegration = true;
@ -8,7 +12,7 @@
config = { config = {
modifier = "Mod4"; modifier = "Mod4";
fonts = { fonts = {
names = [ "FiraCode Nerd Font" ]; names = ["FiraCode Nerd Font"];
size = 11.0; size = 11.0;
}; };
input = { input = {
@ -19,7 +23,7 @@
middle_emulation = "enabled"; middle_emulation = "enabled";
}; };
}; };
bars = [ ]; bars = [];
gaps = { gaps = {
outer = 2; outer = 2;
inner = 2; inner = 2;
@ -71,8 +75,7 @@
}; };
}; };
keybindings = keybindings = let
let
modifier = config.wayland.windowManager.sway.config.modifier; modifier = config.wayland.windowManager.sway.config.modifier;
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
@ -113,7 +116,7 @@
}; };
startup = [ startup = [
{ command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; } {command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";}
{ {
command = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers"; command = "${pkgs.scripts}/bin/chpaper \${HOME}/Pictures/Wallpapers";
always = true; always = true;

View file

@ -1,3 +1,3 @@
{ ... }: { {...}: {
imports = [ ./programs ./services ]; imports = [./programs ./services];
} }

View file

@ -1 +1 @@
{ ... }: { } {...}: {}

View file

@ -1 +1 @@
{ ... }: { } {...}: {}

View file

@ -1,5 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./hardware ./hardware
./programs ./programs
@ -25,7 +24,7 @@
LC_TIME = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";
}; };
supportedLocales = [ "en_US.UTF-8/UTF-8" ]; supportedLocales = ["en_US.UTF-8/UTF-8"];
}; };
time.timeZone = "Asia/Kolkata"; time.timeZone = "Asia/Kolkata";

View file

@ -1,3 +1,3 @@
{ ... }: { {...}: {
imports = [ ./filesystem.nix ./kernel.nix ]; imports = [./filesystem.nix ./kernel.nix];
} }

View file

@ -1,9 +1,8 @@
{ ... }: { {...}: {
fileSystems."/" = { fileSystems."/" = {
device = "/dev/disk/by-partlabel/NIXOS_ROOT"; device = "/dev/disk/by-partlabel/NIXOS_ROOT";
fsType = "btrfs"; fsType = "btrfs";
options = [ "noatime" "compress=zstd" ]; options = ["noatime" "compress=zstd"];
}; };
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-partlabel/ESP"; device = "/dev/disk/by-partlabel/ESP";

View file

@ -1,4 +1,8 @@
{ lib, pkgs, ... }: { {
lib,
pkgs,
...
}: {
boot = { boot = {
initrd = { initrd = {
availableKernelModules = [ availableKernelModules = [

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./neovim.nix ./neovim.nix
]; ];
@ -6,5 +6,5 @@
programs = { programs = {
zsh.enable = true; zsh.enable = true;
}; };
environment.pathsToLink = [ "/share/zsh" ]; environment.pathsToLink = ["/share/zsh"];
} }

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
security = { security = {
apparmor = { apparmor = {
enable = true; enable = true;

View file

@ -1,3 +1,3 @@
{ ... }: { {...}: {
services.openssh.enable = true; services.openssh.enable = true;
} }

View file

@ -1,4 +1,9 @@
{ config, lib, pkgs, ... }: { {
config,
lib,
pkgs,
...
}: {
imports = [ imports = [
./hardware ./hardware
./programs ./programs
@ -11,7 +16,7 @@
./virtualisation.nix ./virtualisation.nix
]; ];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; boot.binfmt.emulatedSystems = ["aarch64-linux"];
console.useXkbConfig = true; console.useXkbConfig = true;
environment.sessionVariables = { environment.sessionVariables = {
@ -24,7 +29,7 @@
fonts = with pkgs; [ fonts = with pkgs; [
cantarell-fonts cantarell-fonts
liberation_ttf liberation_ttf
(nerdfonts.override { fonts = [ "FiraCode" ]; }) (nerdfonts.override {fonts = ["FiraCode"];})
noto-fonts noto-fonts
noto-fonts-cjk noto-fonts-cjk
noto-fonts-emoji noto-fonts-emoji
@ -47,7 +52,7 @@
LC_TIME = "en_US.UTF-8"; LC_TIME = "en_US.UTF-8";
LC_ALL = "en_US.UTF-8"; LC_ALL = "en_US.UTF-8";
}; };
supportedLocales = [ "en_US.UTF-8/UTF-8" ]; supportedLocales = ["en_US.UTF-8/UTF-8"];
}; };
location.provider = "geoclue2"; location.provider = "geoclue2";
@ -70,13 +75,12 @@
wireless.iwd.enable = true; wireless.iwd.enable = true;
}; };
sound.enable = true; sound.enable = true;
time.timeZone = "Asia/Kolkata"; time.timeZone = "Asia/Kolkata";
xdg.portal = { xdg.portal = {
enable = true; enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-gtk xdg-desktop-portal-hyprland ]; extraPortals = with pkgs; [xdg-desktop-portal-gtk xdg-desktop-portal-hyprland];
}; };
system.stateVersion = "23.05"; system.stateVersion = "23.05";

View file

@ -1,5 +1,10 @@
{ lib, pkgs, config, ... }: { {
imports = [ ./kernel.nix ./filesystem.nix ]; lib,
pkgs,
config,
...
}: {
imports = [./kernel.nix ./filesystem.nix];
boot = { boot = {
initrd.luks.devices = { initrd.luks.devices = {
@ -12,10 +17,10 @@
}; };
loader.efi.canTouchEfiVariables = true; loader.efi.canTouchEfiVariables = true;
resumeDevice = "/dev/vg0/swap"; resumeDevice = "/dev/vg0/swap";
supportedFilesystems = [ "btrfs" ]; supportedFilesystems = ["btrfs"];
}; };
swapDevices = [{ device = "/dev/vg0/swap"; }]; swapDevices = [{device = "/dev/vg0/swap";}];
hardware = { hardware = {
bluetooth = { bluetooth = {
@ -26,20 +31,20 @@
KernelExperimental = true; KernelExperimental = true;
}; };
}; };
package = (pkgs.bluez.override { withExperimental = true; }); package = pkgs.bluez.override {withExperimental = true;};
}; };
cpu.intel.updateMicrocode = lib.mkDefault true; cpu.intel.updateMicrocode = lib.mkDefault true;
enableRedistributableFirmware = true; enableRedistributableFirmware = true;
gpgSmartcards.enable = true; gpgSmartcards.enable = true;
opengl = { opengl = {
enable = true; enable = true;
extraPackages = [ pkgs.intel-media-driver ]; extraPackages = [pkgs.intel-media-driver];
driSupport = true; driSupport = true;
driSupport32Bit = true; driSupport32Bit = true;
}; };
sensor.hddtemp = { sensor.hddtemp = {
enable = true; enable = true;
drives = [ "/dev/disk/by-path/pci-0000:01:00.0-nvme-1" ]; drives = ["/dev/disk/by-path/pci-0000:01:00.0-nvme-1"];
}; };
}; };
} }

View file

@ -1,32 +1,32 @@
{ ... }: { {...}: {
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "/dev/vg0/system"; device = "/dev/vg0/system";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@root" "compress-force=zstd" "noatime" ]; options = ["subvol=@root" "compress-force=zstd" "noatime"];
neededForBoot = true; neededForBoot = true;
}; };
"/home" = { "/home" = {
device = "/dev/vg0/system"; device = "/dev/vg0/system";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@home" "compress-force=zstd" "noatime" ]; options = ["subvol=@home" "compress-force=zstd" "noatime"];
}; };
"/nix" = { "/nix" = {
device = "/dev/vg0/system"; device = "/dev/vg0/system";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=/@nix" "compress-force=zstd" "noatime" ]; options = ["subvol=/@nix" "compress-force=zstd" "noatime"];
neededForBoot = true; neededForBoot = true;
}; };
"/persist" = { "/persist" = {
device = "/dev/vg0/system"; device = "/dev/vg0/system";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=/@persist" "compress-force=zstd" "noatime" ]; options = ["subvol=/@persist" "compress-force=zstd" "noatime"];
neededForBoot = true; neededForBoot = true;
}; };
"/mnt/system" = { "/mnt/system" = {
device = "/dev/vg0/system"; device = "/dev/vg0/system";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=/" "compress-force=zstd" "noatime" ]; options = ["subvol=/" "compress-force=zstd" "noatime"];
}; };
"/boot" = { "/boot" = {
device = "/dev/disk/by-partlabel/ESP"; device = "/dev/disk/by-partlabel/ESP";

View file

@ -1,4 +1,8 @@
{ lib, pkgs, ... }: { {
lib,
pkgs,
...
}: {
boot = { boot = {
consoleLogLevel = 3; consoleLogLevel = 3;
initrd = { initrd = {
@ -11,12 +15,12 @@
"sd_mod" "sd_mod"
"rtsx_pci_sdmmc" "rtsx_pci_sdmmc"
]; ];
kernelModules = [ "i915" ]; kernelModules = ["i915"];
systemd.enable = true; systemd.enable = true;
}; };
kernelModules = [ "kvm-intel" ]; kernelModules = ["kvm-intel"];
kernelPackages = pkgs.linuxPackages_latest; kernelPackages = pkgs.linuxPackages_latest;
kernelParams = [ "quiet" ]; kernelParams = ["quiet"];
kernel.sysctl = { kernel.sysctl = {
"vm.swappiness" = 0; "vm.swappiness" = 0;
}; };

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
environment.persistence."/persist/system" = { environment.persistence."/persist/system" = {
hideMounts = true; hideMounts = true;
directories = [ directories = [

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
boot.plymouth = { boot.plymouth = {
enable = true; enable = true;
themePackages = [ themePackages = [

View file

@ -1,5 +1,4 @@
{ ... }: { {...}: {
imports = [ imports = [
./gnupg.nix ./gnupg.nix
./neovim.nix ./neovim.nix
@ -13,5 +12,5 @@
xwayland.enable = true; xwayland.enable = true;
zsh.enable = true; zsh.enable = true;
}; };
environment.pathsToLink = [ "/share/zsh" ]; environment.pathsToLink = ["/share/zsh"];
} }

View file

@ -1,9 +1,8 @@
{ ... }: { {...}: {
programs.gnupg.agent = { programs.gnupg.agent = {
enable = true; enable = true;
enableExtraSocket = true; enableExtraSocket = true;
enableSSHSupport = true; enableSSHSupport = true;
pinentryFlavor = "gnome3"; pinentryFlavor = "gnome3";
}; };
} }

View file

@ -1,5 +1,4 @@
{ ... }: { {...}: {
programs.neovim = { programs.neovim = {
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;

View file

@ -1,9 +1,9 @@
{ ... }: { {...}: {
boot.initrd.systemd.services.rollback = { boot.initrd.systemd.services.rollback = {
description = "Rollback root subvolume to blank state"; description = "Rollback root subvolume to blank state";
wantedBy = [ "initrd.target" ]; wantedBy = ["initrd.target"];
after = [ "dev-vg0-system.device" ]; after = ["dev-vg0-system.device"];
before = [ "sysroot.mount" ]; before = ["sysroot.mount"];
unitConfig.DefaultDependencies = "no"; unitConfig.DefaultDependencies = "no";
serviceConfig.Type = "oneshot"; serviceConfig.Type = "oneshot";
script = '' script = ''

View file

@ -1,4 +1,8 @@
{ lib, pkgs, ... }: { {
lib,
pkgs,
...
}: {
boot.bootspec.enable = true; boot.bootspec.enable = true;
boot.loader.systemd-boot.enable = lib.mkForce false; boot.loader.systemd-boot.enable = lib.mkForce false;
boot.lanzaboote = { boot.lanzaboote = {

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
security = { security = {
apparmor = { apparmor = {
enable = true; enable = true;
@ -10,7 +10,7 @@
services = { services = {
passwd.enableGnomeKeyring = true; passwd.enableGnomeKeyring = true;
login.enableGnomeKeyring = true; login.enableGnomeKeyring = true;
swaylock = { }; swaylock = {};
}; };
u2f = { u2f = {
enable = true; enable = true;
@ -27,7 +27,7 @@
tctiEnvironment.enable = true; tctiEnvironment.enable = true;
}; };
sudo = { sudo = {
package = pkgs.sudo.override { withInsults = true; }; package = pkgs.sudo.override {withInsults = true;};
extraConfig = '' extraConfig = ''
Defaults lecture="never" Defaults lecture="never"
''; '';

View file

@ -1,7 +1,7 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.dbus = { services.dbus = {
enable = true; enable = true;
apparmor = "enabled"; apparmor = "enabled";
packages = with pkgs; [ gcr gcr_4 ]; packages = with pkgs; [gcr gcr_4];
}; };
} }

View file

@ -1,8 +1,10 @@
{ pkgs, secrets, ... }:
let
user = (import ../../../secrets.nix).users;
in
{ {
pkgs,
secrets,
...
}: let
user = (import ../../../secrets.nix).users;
in {
imports = [ imports = [
./dbus.nix ./dbus.nix
./pipewire.nix ./pipewire.nix

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services.pipewire = { services.pipewire = {
enable = true; enable = true;
alsa.enable = true; alsa.enable = true;

View file

@ -1,4 +1,4 @@
{ ... }: { {...}: {
services.tlp = { services.tlp = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: { {pkgs, ...}: {
services.udev = { services.udev = {
enable = true; enable = true;
packages = [ pkgs.yubikey-personalization ]; packages = [pkgs.yubikey-personalization];
}; };
} }

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { {pkgs, ...}: {
virtualisation = { virtualisation = {
docker = { docker = {
enable = true; enable = true;
@ -9,7 +9,7 @@
enable = true; enable = true;
qemu.ovmf = { qemu.ovmf = {
enable = true; enable = true;
packages = [ pkgs.OVMFFull.fd ]; packages = [pkgs.OVMFFull.fd];
}; };
}; };
}; };

View file

@ -1,9 +1,9 @@
{ lib {
, stdenvNoCC lib,
, fetchFromGitHub stdenvNoCC,
, pack ? "pack_1" fetchFromGitHub,
, theme ? "cuts" pack ? "pack_1",
, theme ? "cuts",
}: }:
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "adi1090x-plymouth"; pname = "adi1090x-plymouth";

View file

@ -1,6 +1,6 @@
self: super: { self: super: {
adi1090x-plymouth = super.callPackage ./adi1090x-plymouth { }; adi1090x-plymouth = super.callPackage ./adi1090x-plymouth {};
dracula-gtk = super.callPackage ./dracula-gtk { }; dracula-gtk = super.callPackage ./dracula-gtk {};
newaita-icon-theme = super.callPackage ./newaita-icon-theme { }; newaita-icon-theme = super.callPackage ./newaita-icon-theme {};
scripts = super.callPackage ./scripts { }; scripts = super.callPackage ./scripts {};
} }

View file

@ -1,10 +1,10 @@
{ lib {
, stdenvNoCC lib,
, fetchFromGitHub stdenvNoCC,
, gtk3 fetchFromGitHub,
, gnome-themes-extra gtk3,
, gtk-engine-murrine gnome-themes-extra,
, gtk-engine-murrine,
}: }:
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "dracula-gtk"; pname = "dracula-gtk";
@ -17,13 +17,13 @@ stdenvNoCC.mkDerivation {
hash = "sha256-p9zu40o7gP08juBiDV3OzwGV6Qjgg/I0GDzV9qOlEgk="; hash = "sha256-p9zu40o7gP08juBiDV3OzwGV6Qjgg/I0GDzV9qOlEgk=";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [gtk3];
buildInputs = [ buildInputs = [
gnome-themes-extra gnome-themes-extra
]; ];
propagatedUserEnvPkgs = [ gtk-engine-murrine ]; propagatedUserEnvPkgs = [gtk-engine-murrine];
installPhase = '' installPhase = ''
runHook preInstall runHook preInstall

View file

@ -1,13 +1,13 @@
{ lib {
, stdenvNoCC lib,
, fetchFromGitHub stdenvNoCC,
, gtk3 fetchFromGitHub,
, gnome gtk3,
, gnome-icon-theme gnome,
, hicolor-icon-theme gnome-icon-theme,
, panel ? "dark" hicolor-icon-theme,
, folder ? "default" panel ? "dark",
, folder ? "default",
}: }:
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "newaita-icon-theme"; pname = "newaita-icon-theme";
@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation {
hash = "sha256-tqtjUy8RjvOu0NaK+iE0R1g7/eqCpmhbdxuNGd/YfSI="; hash = "sha256-tqtjUy8RjvOu0NaK+iE0R1g7/eqCpmhbdxuNGd/YfSI=";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [gtk3];
propagatedBuildInputs = [ propagatedBuildInputs = [
gnome.adwaita-icon-theme gnome.adwaita-icon-theme

View file

@ -1,29 +1,42 @@
{ lib, stdenvNoCC, makeWrapper, libnotify, rofi-wayland, tmux, kitty, imagemagick, sway, hyprland, swww, jq, curl }: {
lib,
stdenvNoCC,
makeWrapper,
libnotify,
rofi-wayland,
tmux,
kitty,
imagemagick,
sway,
hyprland,
swww,
jq,
curl,
}:
stdenvNoCC.mkDerivation { stdenvNoCC.mkDerivation {
pname = "scripts"; pname = "scripts";
version = "0.1"; version = "0.1";
src = ./.; src = ./.;
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [makeWrapper];
buildInputs = [ libnotify rofi-wayland tmux kitty ]; buildInputs = [libnotify rofi-wayland tmux kitty];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
cp power-menu.sh $out/bin/power-menu cp power-menu.sh $out/bin/power-menu
chmod +x $out/bin/power-menu chmod +x $out/bin/power-menu
wrapProgram $out/bin/power-menu --prefix PATH : ${lib.makeBinPath [ libnotify rofi-wayland sway hyprland ]} wrapProgram $out/bin/power-menu --prefix PATH : ${lib.makeBinPath [libnotify rofi-wayland sway hyprland]}
cp tmux-sessions.sh $out/bin/tmux-sessions cp tmux-sessions.sh $out/bin/tmux-sessions
chmod +x $out/bin/tmux-sessions chmod +x $out/bin/tmux-sessions
wrapProgram $out/bin/tmux-sessions --prefix PATH : ${lib.makeBinPath [ tmux kitty rofi-wayland ]} wrapProgram $out/bin/tmux-sessions --prefix PATH : ${lib.makeBinPath [tmux kitty rofi-wayland]}
cp chpaper.sh $out/bin/chpaper cp chpaper.sh $out/bin/chpaper
chmod +x $out/bin/chpaper chmod +x $out/bin/chpaper
wrapProgram $out/bin/chpaper --prefix PATH : ${lib.makeBinPath [ imagemagick libnotify swww ]} wrapProgram $out/bin/chpaper --prefix PATH : ${lib.makeBinPath [imagemagick libnotify swww]}
cp wallhaven.sh $out/bin/wallhaven cp wallhaven.sh $out/bin/wallhaven
chmod +x $out/bin/wallhaven chmod +x $out/bin/wallhaven
wrapProgram $out/bin/wallhaven --prefix PATH : ${lib.makeBinPath [ imagemagick libnotify swww jq curl ]} wrapProgram $out/bin/wallhaven --prefix PATH : ${lib.makeBinPath [imagemagick libnotify swww jq curl]}
''; '';
} }