Compare commits

5 Commits

Author SHA1 Message Date
ce797e1a65 Added alejandra formatter to neovim 2026-03-12 10:09:55 +01:00
93bc7644f5 Added edge barrier setting to plasma manager 2026-03-12 10:09:29 +01:00
c986ac4bf7 Updated Flake packages 2026-03-12 09:40:09 +01:00
b25430abc9 Modifed ncli update to ask which packages to update so it is possible to only update wanted packages 2026-03-12 09:39:52 +01:00
c6862c78db - Formatted everything using Alejandra
- Added 'ncli format' as a quick command to format everything
2026-03-11 16:03:16 +01:00
37 changed files with 1091 additions and 873 deletions

54
flake.lock generated
View File

@ -247,11 +247,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772633327, "lastModified": 1773286336,
"narHash": "sha256-jl+DJB2DUx7EbWLRng+6HNWW/1/VQOnf0NsQB4PlA7I=", "narHash": "sha256-+yFtmhOHterllxWmV6YbdevTXpJdGS0mS0UmJ0k9fh0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5a75730e6f21ee624cbf86f4915c6e7489c74acc", "rev": "7d06e0cefe6e4a1e85b2b3274dcb0b3da242a557",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -294,11 +294,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable" "xwayland-satellite-unstable": "xwayland-satellite-unstable"
}, },
"locked": { "locked": {
"lastModified": 1772698812, "lastModified": 1773303738,
"narHash": "sha256-7+K/VaZ7TXUeUGSYshg8wC3UsRZHB+M4x6r38Q1B79c=", "narHash": "sha256-qrl74wNFMTUzA8z6nSEWNjQcJI/MQEWdWu2Wn+u4Ctg=",
"owner": "sodiboo", "owner": "sodiboo",
"repo": "niri-flake", "repo": "niri-flake",
"rev": "5641625ef950f024e3e0e3f38bb91f876290c0be", "rev": "329df7671b7859abd1cbca5d5af296ed6dc22b46",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -327,11 +327,11 @@
"niri-unstable": { "niri-unstable": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1772207631, "lastModified": 1773130184,
"narHash": "sha256-Jkkg+KqshFO3CbTszVVpkKN2AOObYz+wMsM3ONo1z5g=", "narHash": "sha256-3bwx4WqCB06yfQIGB+OgIckOkEDyKxiTD5pOo4Xz2rI=",
"owner": "YaLTeR", "owner": "YaLTeR",
"repo": "niri", "repo": "niri",
"rev": "e708f546153f74acf33eb183b3b2992587a701e5", "rev": "b07bde3ee82dd73115e6b949e4f3f63695da35ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -357,11 +357,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1771969195, "lastModified": 1772972630,
"narHash": "sha256-qwcDBtrRvJbrrnv1lf/pREQi8t2hWZxVAyeMo7/E9sw=", "narHash": "sha256-mUJxsNOrBMNOUJzN0pfdVJ1r2pxeqm9gI/yIKXzVVbk=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "41c6b421bdc301b2624486e11905c9af7b8ec68e", "rev": "3966ce987e1a9a164205ac8259a5fe8a64528f72",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -372,11 +372,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1772721746, "lastModified": 1773304180,
"narHash": "sha256-GBuNOTwrTEDkkCxZIt31/4vOOrk6EN9WJRX5Iw6rSgo=", "narHash": "sha256-e/ctVWU2EYXBOsJHU76lN6vqugD8u1Xl20MJ+A+bPuE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "954e9a9127b88c528b232c48142345c8d845951a", "rev": "d5eb8dca28f5be580c26f8fcb2ec4ec4215e9102",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -388,11 +388,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1772598333, "lastModified": 1773068389,
"narHash": "sha256-YaHht/C35INEX3DeJQNWjNaTcPjYmBwwjFJ2jdtr+5U=", "narHash": "sha256-vMrm7Pk2hjBRPnCSjhq1pH0bg350Z+pXhqZ9ICiqqCs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "fabb8c9deee281e50b1065002c9828f2cf7b2239", "rev": "44bae273f9f82d480273bab26f5c50de3724f52f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -404,11 +404,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1772624091, "lastModified": 1773122722,
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=", "narHash": "sha256-FIqHByVqxCprNjor1NqF80F2QQoiiyqanNNefdlvOg4=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353", "rev": "62dc67aa6a52b4364dd75994ec00b51fbf474e50",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -495,11 +495,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772695593, "lastModified": 1773291133,
"narHash": "sha256-kS8IgyBauCuOIgUcX4ajko6Szn4FPLCfwcEGfTv7RDc=", "narHash": "sha256-9Odn+7x5l90HnXRY7MwVYcX+8CYAo+ldJ+GOVs7e2T8=",
"owner": "outfoxxed", "owner": "outfoxxed",
"repo": "quickshell", "repo": "quickshell",
"rev": "5721955686a474b814c27bc0ec743f86e473ac4f", "rev": "9a9c60525014bcdf83aace03db4b53c19168edcc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -728,11 +728,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772638901, "lastModified": 1773290887,
"narHash": "sha256-kzAyU054Mzpnzgx475MgmcjYJXxXWQWBG7LLsYtHXKw=", "narHash": "sha256-L1yMYmFffHfZNP+hKJGRBmrFKkn/VDhu7jEbVftBQuM=",
"owner": "0xc000022070", "owner": "0xc000022070",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "75de12ddd50616a3628499ec18b648bceb88eb0d", "rev": "9346698c4562819f61b4e5097151ec0b17729fab",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -47,8 +47,19 @@
grub2-themes.url = "github:vinceliuice/grub2-themes"; grub2-themes.url = "github:vinceliuice/grub2-themes";
}; };
outputs = inputs@{ nixpkgs, alejandra, home-manager, plasma-manager, nixos-hardware, stylix, niri, zen-browser, grub2-themes, nix-flatpak, ... }: outputs = inputs @ {
let nixpkgs,
alejandra,
home-manager,
plasma-manager,
nixos-hardware,
stylix,
niri,
zen-browser,
grub2-themes,
nix-flatpak,
...
}: let
username = "cookiez"; username = "cookiez";
hostname = "nixos"; hostname = "nixos";
project = "NixOS"; project = "NixOS";
@ -57,8 +68,7 @@
pkgs = import nixpkgs {inherit system;}; pkgs = import nixpkgs {inherit system;};
framework13 = true; framework13 = true;
in in {
{
formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra; formatter.${system} = nixpkgs.legacyPackages.${system}.alejandra;
nixosConfigurations = { nixosConfigurations = {
@ -73,10 +83,17 @@
inherit alejandra; inherit alejandra;
host = hostname; host = hostname;
}; };
modules = [ modules =
[
./modules ./modules
#Conditional Modules! #Conditional Modules!
] ++ (if framework13 then [ nixos-hardware.nixosModules.framework-13-7040-amd ] else [ ]) ++ [ ]
++ (
if framework13
then [nixos-hardware.nixosModules.framework-13-7040-amd]
else []
)
++ [
]; ];
}; };
}; };

View File

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
{ {
config,
lib,
pkgs,
...
}: {
boot = { boot = {
# silence first boot output # silence first boot output
consoleLogLevel = 3; consoleLogLevel = 3;

View File

@ -3,17 +3,25 @@
#nmcli device wifi connect <ssid> password <password> #nmcli device wifi connect <ssid> password <password>
# or if no password (open wifi) # or if no password (open wifi)
#nmcli device wifi connect <ssid> #nmcli device wifi connect <ssid>
{ inputs, config, pkgs, lib, username, project, host, version, system, ... }:
{ {
inputs,
config,
pkgs,
lib,
username,
project,
host,
version,
system,
...
}: {
#Assign Swap to the PC #Assign Swap to the PC
#swapDevices = [{ #swapDevices = [{
# device = "/swapfile"; # device = "/swapfile";
# size = 16 * 1024; # 16GB # size = 16 * 1024; # 16GB
#}]; #}];
imports = imports = [
[
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
inputs.grub2-themes.nixosModules.default inputs.grub2-themes.nixosModules.default
inputs.nix-flatpak.nixosModules.nix-flatpak inputs.nix-flatpak.nixosModules.nix-flatpak
@ -63,7 +71,6 @@
#Manage flags -> Add bios_grub #Manage flags -> Add bios_grub
networking = { networking = {
# Enable networking # Enable networking
networkmanager.enable = true; networkmanager.enable = true;

View File

@ -1,5 +1,4 @@
{ config, ... }: {config, ...}: {
{
imports = [ imports = [
./configuration.nix ./configuration.nix
@ -43,6 +42,5 @@
environment.etc."nixos-tags".text = "niri"; environment.etc."nixos-tags".text = "niri";
}; };
}; };
}; };
} }

View File

@ -1,5 +1,9 @@
{ pkgs, username, project, ...}:
{ {
pkgs,
username,
project,
...
}: {
xdg = { xdg = {
desktopEntries.youtube = { desktopEntries.youtube = {
name = "YouTube"; name = "YouTube";
@ -107,6 +111,5 @@
name = "Discover"; name = "Discover";
noDisplay = true; noDisplay = true;
}; };
}; };
} }

View File

@ -1,5 +1,4 @@
{ username, ... }: {username, ...}: {
{
programs.firefox = { programs.firefox = {
enable = true; enable = true;
profiles = { profiles = {

View File

@ -1,6 +1,8 @@
{ config, pkgs, ... }: {
config,
let pkgs,
...
}: let
lock-false = { lock-false = {
Value = false; Value = false;
Status = "locked"; Status = "locked";
@ -9,9 +11,7 @@
Value = true; Value = true;
Status = "locked"; Status = "locked";
}; };
in in {
{
home-manager.sharedModules = [ home-manager.sharedModules = [
./firefox-home.nix ./firefox-home.nix
]; ];
@ -21,7 +21,9 @@
enable = true; enable = true;
languagePacks = ["de" "en-US"]; languagePacks = ["de" "en-US"];
/* ---- POLICIES ---- */ /*
---- POLICIES ----
*/
# Check about:policies#documentation for options. # Check about:policies#documentation for options.
policies = { policies = {
PasswordManagerEnabled = false; PasswordManagerEnabled = false;
@ -44,15 +46,15 @@
DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on" DisplayMenuBar = "default-off"; # alternatives: "always", "never" or "default-on"
SearchBar = "unified"; # alternative: "separate" SearchBar = "unified"; # alternative: "separate"
/* ---- EXTENSIONS ---- */ /*
---- EXTENSIONS ----
*/
# Check about:support for extension/add-on ID strings. # Check about:support for extension/add-on ID strings.
# Valid strings for installation_mode are "allowed", "blocked", # Valid strings for installation_mode are "allowed", "blocked",
# "force_installed" and "normal_installed". # "force_installed" and "normal_installed".
# How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265 # How to: https://discourse.nixos.org/t/declare-firefox-extensions-and-settings/36265
ExtensionSettings = ExtensionSettings = with builtins; let
with builtins;
let
extension = shortId: uuid: { extension = shortId: uuid: {
name = uuid; name = uuid;
value = { value = {
@ -77,10 +79,15 @@
(extension "darkreader" "addon@darkreader.org") (extension "darkreader" "addon@darkreader.org")
]; ];
/* ---- PREFERENCES ---- */ /*
---- PREFERENCES ----
*/
# Check about:config for options. # Check about:config for options.
Preferences = { Preferences = {
"browser.contentblocking.category" = { Value = "strict"; Status = "locked"; }; "browser.contentblocking.category" = {
Value = "strict";
Status = "locked";
};
"extensions.pocket.enabled" = lock-false; "extensions.pocket.enabled" = lock-false;
"extensions.screenshots.disabled" = lock-true; "extensions.screenshots.disabled" = lock-true;
"browser.topsites.contile.enabled" = lock-false; "browser.topsites.contile.enabled" = lock-false;

View File

@ -1,11 +1,15 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "uas" "usbhid" "sd_mod"]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "uas" "usbhid" "sd_mod"];
@ -13,13 +17,13 @@
boot.kernelModules = ["kvm-amd"]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = []; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/af8fdb25-74d8-4b33-8413-bdcb66e0d22a"; device = "/dev/disk/by-uuid/af8fdb25-74d8-4b33-8413-bdcb66e0d22a";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = fileSystems."/boot" = {
{ device = "/dev/disk/by-uuid/58D5-0C06"; device = "/dev/disk/by-uuid/58D5-0C06";
fsType = "vfat"; fsType = "vfat";
options = ["fmask=0077" "dmask=0077"]; options = ["fmask=0077" "dmask=0077"];
}; };

View File

@ -1,18 +1,30 @@
{ lib, inputs, config, pkgs, username, project, host, version, ... }:
{ {
lib,
inputs,
config,
pkgs,
username,
project,
host,
version,
...
}: {
# Home Manager needs a bit of information about you and the # Home Manager needs a bit of information about you and the
# paths it should manage. # paths it should manage.
home.username = username; home.username = username;
home.homeDirectory = "/home/${username}"; home.homeDirectory = "/home/${username}";
home.packages = [ home.packages = [
(import ./ncli.nix { inherit pkgs host project; backupFiles = [ (import ./ncli.nix {
inherit pkgs host project;
backupFiles = [
".gtkrc-2.0.backup" ".gtkrc-2.0.backup"
".config/gtk-3.0/gtk.css.backup" ".config/gtk-3.0/gtk.css.backup"
".config/gtk-3.0/settings.ini.backup" ".config/gtk-3.0/settings.ini.backup"
".config/gtk-4.0/gtk.css.backup" ".config/gtk-4.0/gtk.css.backup"
".config/gtk-4.0/settings.ini.backup" ".config/gtk-4.0/settings.ini.backup"
".config/niri/config.kdl" ".config/niri/config.kdl"
]; }) ];
})
]; ];
imports = [ imports = [
@ -37,7 +49,6 @@
programs = { programs = {
home-manager = {enable = true;}; home-manager = {enable = true;};
zoxide = { zoxide = {
enable = true; enable = true;
#enableZshIntegration = true; #enableZshIntegration = true;
@ -56,7 +67,6 @@
}; };
}; };
git = { git = {
enable = true; enable = true;
settings = { settings = {
@ -80,7 +90,6 @@
path = "${username}.default"; path = "${username}.default";
isDefault = true; isDefault = true;
settings = { settings = {
}; };
}; };
}; };
@ -101,9 +110,7 @@
OfferToSaveLogins = false; OfferToSaveLogins = false;
DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab" DisplayBookmarksToolbar = "always"; # alternatives: "always" or "newtab"
ExtensionSettings = ExtensionSettings = with builtins; let
with builtins;
let
extension = shortId: uuid: { extension = shortId: uuid: {
name = uuid; name = uuid;
value = { value = {

View File

@ -1,5 +1,9 @@
{ config, inputs, pkgs, ... }:
{ {
config,
inputs,
pkgs,
...
}: {
imports = [ imports = [
]; ];
@ -7,8 +11,7 @@
./home.nix ./home.nix
]; ];
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs; [
[
hyprlock hyprlock
]; ];
} }

View File

@ -1,6 +1,9 @@
{pkgs, inputs, username, ...}:
{ {
pkgs,
inputs,
username,
...
}: {
imports = [ imports = [
]; ];

View File

@ -1,5 +1,9 @@
{ config, inputs, pkgs, ... }:
{ {
config,
inputs,
pkgs,
...
}: {
imports = [ imports = [
]; ];
@ -7,8 +11,7 @@
./home.nix ./home.nix
]; ];
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs; [
[
hyprpaper hyprpaper
]; ];
} }

View File

@ -1,6 +1,10 @@
{pkgs, inputs, username, project, ...}:
{ {
pkgs,
inputs,
username,
project,
...
}: {
imports = [ imports = [
]; ];

View File

@ -3,11 +3,15 @@
#nmcli device wifi connect <ssid> password <password> #nmcli device wifi connect <ssid> password <password>
# or if no password (open wifi) # or if no password (open wifi)
#nmcli device wifi connect <ssid> #nmcli device wifi connect <ssid>
{ config, pkgs, lib, username, version, ... }:
{ {
imports = config,
[ pkgs,
lib,
username,
version,
...
}: {
imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./zsh.nix ./zsh.nix
#./ncli.nix #./ncli.nix

View File

@ -161,13 +161,64 @@ in
echo -e "Updating flake and rebuilding system for current host: $HOST on generation: $YELLOW$geno$NOCOLOR" echo -e "Updating flake and rebuilding system for current host: $HOST on generation: $YELLOW$geno$NOCOLOR"
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
echo "Updating flake..." # --- Selective flake update ---
if nix flake update; then read -rp "Update [a]ll inputs or [s]elect manually? (a/s): " choice
case "$choice" in
a|A)
echo "Updating all inputs..."
if nix flake update --flake .; then
echo " Flake updated successfully" echo " Flake updated successfully"
else else
echo " Flake update failed" >&2 echo " Flake update failed" >&2
exit 1 exit 1
fi fi
;;
s|S)
echo "Fetching available updates (this may take a moment)..."
TEMP_LOCK=$(mktemp)
trap 'rm -f "$TEMP_LOCK"' EXIT
nix flake update --output-lock-file "$TEMP_LOCK" --flake . 2>/dev/null
outdated=$(jq -r --slurpfile new "$TEMP_LOCK" '
.nodes as $old |
$new[0].nodes as $newn |
($old | keys[]) |
select(. != "root") |
select(
($old[.].locked.lastModified // 0) !=
($newn[.].locked.lastModified // 0)
)
' flake.lock)
if [[ -z "$outdated" ]]; then
echo " All inputs are already up to date, skipping flake update."
else
echo
echo "Updates available for:"
printf '%s\n' "$outdated"
echo
echo "Tab to select, Enter to update, Esc to cancel."
selected=$(printf '%s\n' "$outdated" | fzf --multi) || {
echo "No inputs selected, skipping flake update."
selected=""
}
if [[ -n "$selected" ]]; then
if nix flake update --flake . $selected; then
echo " Flake updated successfully"
else
echo " Flake update failed" >&2
exit 1
fi
fi
fi
;;
*)
echo "Invalid choice, skipping flake update."
;;
esac
# --- End selective flake update ---
current="" current=""
@ -261,6 +312,9 @@ in
cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; } cd "$HOME/$PROJECT" || { echo "Error: Could not change to $HOME/$PROJECT"; exit 1; }
git status git status
;; ;;
format)
nix fmt .
;;
trim) trim)
echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance." echo "Running 'sudo fstrim -v /' may take a few minutes and impact system performance."
read -p "Enter to run now or enter to exit (y/N): " -n 1 -r read -p "Enter to run now or enter to exit (y/N): " -n 1 -r

View File

@ -1,7 +1,11 @@
{ inputs, config, lib, pkgs, ... }:
{ {
environment.systemPackages = with pkgs; inputs,
[ config,
lib,
pkgs,
...
}: {
environment.systemPackages = with pkgs; [
neovim neovim
vimPlugins.LazyVim vimPlugins.LazyVim
vimPlugins.lazygit-nvim vimPlugins.lazygit-nvim
@ -13,7 +17,6 @@
./home.nix ./home.nix
]; ];
# programs.neovim = { # programs.neovim = {
# enable = true; # enable = true;
#}; #};

View File

@ -1,5 +1,10 @@
{ inputs, config, lib, pkgs, ... }:
{ {
inputs,
config,
lib,
pkgs,
...
}: {
imports = [ imports = [
inputs.nixvim.homeModules.nixvim inputs.nixvim.homeModules.nixvim
]; ];
@ -108,6 +113,22 @@
check_ts = true; # Use treesitter to avoid pairing inside strings/comments check_ts = true; # Use treesitter to avoid pairing inside strings/comments
}; };
}; };
conform-nvim = {
enable = true;
settings = {
formatters_by_ft = {
nix = ["alejandra"];
};
format_on_save = {
lsp_format = "fallback";
timeout_ms = 500;
};
};
# Pin the exact binary path so Nix guarantees it's available
settings.formatters = {
alejandra.command = "${pkgs.alejandra}/bin/alejandra";
};
};
}; };
extraPlugins = with pkgs.vimPlugins; [ extraPlugins = with pkgs.vimPlugins; [

View File

@ -1,5 +1,10 @@
{config, pkgs, libs, inputs, ...}:
{ {
config,
pkgs,
libs,
inputs,
...
}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
#CLI tools #CLI tools
pdftk #PDF toolkit pdftk #PDF toolkit

View File

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
imports = [ imports = [
./desktop.nix ./desktop.nix
./cli.nix ./cli.nix

View File

@ -1,7 +1,11 @@
{config, pkgs, libs, inputs, ...}:
{ {
config,
pkgs,
libs,
inputs,
...
}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
#Programming #Programming
jetbrains.pycharm #The PyCharm IDE to edit Python code jetbrains.pycharm #The PyCharm IDE to edit Python code
jetbrains.idea #The IntelliJ IDE to edit Java code jetbrains.idea #The IntelliJ IDE to edit Java code

View File

@ -1,5 +1,12 @@
{config, pkgs, libs, inputs, system, alejandra, ...}:
{ {
config,
pkgs,
libs,
inputs,
system,
alejandra,
...
}: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
#Essentials (CLI Only) #Essentials (CLI Only)
wget #A tool for quickly downloading things from the Web wget #A tool for quickly downloading things from the Web
@ -38,6 +45,8 @@
rocmPackages.rocm-runtime #AMD ROCm runtime rocmPackages.rocm-runtime #AMD ROCm runtime
ripgrep #Alternative to grep search for text in files ripgrep #Alternative to grep search for text in files
pipewire #Multimedia handling pipewire #Multimedia handling
fzf #Needed for nix-selective update tool
jq #Needed for nix-selective update tool
distrobox distrobox
dbus dbus
cifs-utils cifs-utils

View File

@ -1,5 +1,11 @@
{config, pkgs, libs, inputs, nix-flatpak, ...}:
{ {
config,
pkgs,
libs,
inputs,
nix-flatpak,
...
}: {
services.flatpak = { services.flatpak = {
enable = true; enable = true;

View File

@ -1,8 +1,10 @@
{ pkgs, inputs, username, ... }:
{ {
pkgs,
imports = inputs,
[ username,
...
}: {
imports = [
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
]; ];

View File

@ -1,6 +1,9 @@
{pkgs, inputs, username, ...}:
{ {
pkgs,
inputs,
username,
...
}: {
imports = [ imports = [
]; ];

View File

@ -1,5 +1,4 @@
{ ... }: {...}: {
{
# xdg.configFile."waybar/config.jsonc".source = ./config.jsonc; # xdg.configFile."waybar/config.jsonc".source = ./config.jsonc;
# xdg.configFile."waybar/style.css".source = ./style.css; # xdg.configFile."waybar/style.css".source = ./style.css;
} }

View File

@ -1,4 +1,10 @@
{ config, pkgs, username, project, ... }: { {
config,
pkgs,
username,
project,
...
}: {
programs.zsh = { programs.zsh = {
enable = true; enable = true;
enableCompletion = false; enableCompletion = false;

View File

@ -1,6 +1,10 @@
{ config, pkgs, username, project, ... }:
{ {
config,
pkgs,
username,
project,
...
}: {
#To show logs of services run: #To show logs of services run:
#journalctl --user-unit={service-name} --user #journalctl --user-unit={service-name} --user
systemd.user.services.niri-waybar = { systemd.user.services.niri-waybar = {

View File

@ -1,5 +1,9 @@
{ config, inputs, pkgs, ... }:
{ {
config,
inputs,
pkgs,
...
}: {
imports = [ imports = [
./autostart.nix ./autostart.nix
../modules/hyprlock ../modules/hyprlock
@ -11,8 +15,7 @@
./home.nix ./home.nix
]; ];
environment.systemPackages = with pkgs; environment.systemPackages = with pkgs; [
[
#mako #mako
fuzzel fuzzel
waybar waybar
@ -26,11 +29,11 @@
xwayland.enable = true; xwayland.enable = true;
}; };
#services.xserver.enable = true; #services.xserver.enable = true;
#services.xserver.displayManager.sddm.enable = true; #services.xserver.displayManager.sddm.enable = true;
xdg.portal = { #Needed for waybar xdg.portal = {
#Needed for waybar
enable = true; enable = true;
extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr]; extraPortals = [pkgs.xdg-desktop-portal-gtk pkgs.xdg-desktop-portal-wlr];
config.common.default = "*"; config.common.default = "*";
@ -38,5 +41,4 @@
#sound.enable = true; #sound.enable = true;
#security.rtkit.enable = true; #security.rtkit.enable = true;
} }

View File

@ -1,6 +1,8 @@
{pkgs, inputs, ...}:
{ {
pkgs,
inputs,
...
}: {
imports = [ imports = [
inputs.niri.homeModules.niri inputs.niri.homeModules.niri
../modules/waybar/home.nix ../modules/waybar/home.nix

View File

@ -1,6 +1,10 @@
{ config, pkgs, username, project, ... }:
{ {
config,
pkgs,
username,
project,
...
}: {
#To show logs of services run: journalctl --user-unit={service-name} --user #To show logs of services run: journalctl --user-unit={service-name} --user
systemd.user.services.autostart-yakuake = { systemd.user.services.autostart-yakuake = {

View File

@ -1,5 +1,10 @@
{config, pkgs, username, project, ...}: {
let config,
pkgs,
username,
project,
...
}: let
# Define the custom background package with the correct relative path # Define the custom background package with the correct relative path
background-package = pkgs.stdenvNoCC.mkDerivation { background-package = pkgs.stdenvNoCC.mkDerivation {
name = "background-image"; name = "background-image";
@ -12,10 +17,8 @@ let
plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop" plasmaTheme = "desktop"; #Possible values are "laptop" or "desktop"
powerProfile = "laptop"; #Possible values are "laptop" or "desktop" powerProfile = "laptop"; #Possible values are "laptop" or "desktop"
in in {
{ imports = [
imports =
[
./autostart.nix ./autostart.nix
../modules/stylix ../modules/stylix
]; ];
@ -75,7 +78,6 @@ in
''; '';
environment = { environment = {
plasma6.excludePackages = with pkgs; [ plasma6.excludePackages = with pkgs; [
kdePackages.elisa kdePackages.elisa
]; ];

View File

@ -1,7 +1,14 @@
{pkgs, lib, inputs, username, project, plasmaTheme, ...}:
{ {
pkgs,
imports = [ lib,
inputs,
username,
project,
plasmaTheme,
...
}: {
imports =
[
./settings/common.nix ./settings/common.nix
./settings/powerProfile.nix ./settings/powerProfile.nix
] ]

View File

@ -1,5 +1,11 @@
{pkgs, inputs, username, project, plasmaTheme, ...}:
{ {
pkgs,
inputs,
username,
project,
plasmaTheme,
...
}: {
programs = { programs = {
plasma = { plasma = {
enable = true; enable = true;
@ -51,7 +57,6 @@
"Switch to Next Keyboard Layout" = []; "Switch to Next Keyboard Layout" = [];
}; };
#kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S"; #kaccess."Toggle Screen Reader On and Off" = "Meta+Alt+S";
#kcm_touchpad."Disable Touchpad" = "Touchpad Off"; #kcm_touchpad."Disable Touchpad" = "Touchpad Off";
#kcm_touchpad."Enable Touchpad" = "Touchpad On"; #kcm_touchpad."Enable Touchpad" = "Touchpad On";
@ -399,6 +404,7 @@
kwinrc = { kwinrc = {
# "Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; # "Activities/LastVirtualDesktop"."0f8d8349-5b1b-4b77-bfa5-22829bfaf459" = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
# "Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; # "Activities/LastVirtualDesktop".e85f493f-046d-4dca-9e07-987ecd4ca4bc = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
"EdgeBarrier"."EdgeBarrier" = 15;
Desktops = { Desktops = {
# Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37"; # Id_1 = "4a2f44cc-dfe7-45dc-8439-fe34a6866d37";
# Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc"; # Id_2 = "fc5cf4ff-2e08-4059-ac1f-7c5540efa4fc";

View File

@ -1,5 +1,11 @@
{pkgs, inputs, username, project, plasmaTheme, ...}:
{ {
pkgs,
inputs,
username,
project,
plasmaTheme,
...
}: {
programs = { programs = {
plasma = { plasma = {
overrideConfig = true; overrideConfig = true;
@ -21,7 +27,8 @@
launchers = [ launchers = [
# optional pinned apps # optional pinned apps
"applications:org.kde.dolphin.desktop" "applications:org.kde.dolphin.desktop"
"applications:systemsettings.desktop""applications:kitty.desktop" "applications:systemsettings.desktop"
"applications:kitty.desktop"
"applications:firefox.desktop" "applications:firefox.desktop"
]; ];
}; };

View File

@ -1,6 +1,11 @@
{pkgs, inputs, username, project, plasmaTheme, ...}:
{ {
pkgs,
inputs,
username,
project,
plasmaTheme,
...
}: {
programs = { programs = {
plasma = { plasma = {
overrideConfig = true; overrideConfig = true;
@ -111,13 +116,13 @@
launchers = [ launchers = [
# optional pinned apps # optional pinned apps
"applications:org.kde.dolphin.desktop" "applications:org.kde.dolphin.desktop"
"applications:systemsettings.desktop""applications:kitty.desktop" "applications:systemsettings.desktop"
"applications:kitty.desktop"
"applications:firefox.desktop" "applications:firefox.desktop"
]; ];
}; };
}; };
} }
]; ];
} }
]; ];

View File

@ -1,5 +1,11 @@
{pkgs, inputs, username, project, powerProfile, ...}: {
let pkgs,
inputs,
username,
project,
powerProfile,
...
}: let
profiles = { profiles = {
laptop = { laptop = {
AC.powerProfile = "powerSaving"; AC.powerProfile = "powerSaving";
@ -14,8 +20,7 @@ let
}; };
selectedProfile = profiles.${powerProfile}; selectedProfile = profiles.${powerProfile};
in in {
{
programs = { programs = {
plasma = { plasma = {
overrideConfig = true; overrideConfig = true;