Compare commits

..

8 commits

14 changed files with 187 additions and 52 deletions

69
flake.lock generated
View file

@ -25,11 +25,11 @@
}, },
"locked": { "locked": {
"dir": "/pkgs/firefox-addons", "dir": "/pkgs/firefox-addons",
"lastModified": 1732398293, "lastModified": 1732479769,
"narHash": "sha256-OaO0TA1ydBPcaJmQHjfgY01RdoNGQ6f5Yq8Ng11m844=", "narHash": "sha256-barZy95JsQt4G9EDZ7RNrjgTneelXXfSzRLJJvokjsI=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "205947bac77611261b32113bb54df0668b2acf98", "rev": "80bf66046d8b8624c5991a0c8e512b211acce2b2",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -50,11 +50,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732365372, "lastModified": 1732497628,
"narHash": "sha256-QBvVgs3uOEfy4OycdzA9rSYVJA98vSC2/DR1wSvw1Xw=", "narHash": "sha256-r6vHlGeHoG51e9c77V5wadv6tnBD8bQnzTspH0Hn/3A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "flake-firefox-nightly", "repo": "flake-firefox-nightly",
"rev": "ab62b76590187f8b82fc47ecd86e57629cd0a3df", "rev": "60ff5970ff90ef231cf8ecc140ea269fb5df2a11",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -152,16 +152,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732319136, "lastModified": 1732482255,
"narHash": "sha256-wpmPl6FkAF9Jj5C/rzANgpUjfzQrUYOn267LnzKU2uI=", "narHash": "sha256-GUffLwzawz5WRVfWaWCg78n/HrBJrOG7QadFY6rtV8A=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f8831cc700030e11fc91da9ef6270593e6440edc", "rev": "a9953635d7f34e7358d5189751110f87e3ac17da",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.11", "ref": "master",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -172,11 +172,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1731845570, "lastModified": 1732450403,
"narHash": "sha256-5reOtlm18XLnh3ezruPOg2wQO+MB7ztsFaIzSUAzeh8=", "narHash": "sha256-qYjJeHYUHDgfDsvMpIf9TRz0oAoMwvYP75XHObDjWIg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "7a1d37b2b16f32536628df9cea6a2003d79a49f9", "rev": "c817444fb8a3042c26be57d8640fb744bc1b516c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -223,27 +223,43 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1731603435, "lastModified": 1732014248,
"narHash": "sha256-CqCX4JG7UiHvkrBTpYC3wcEurvbtTADLbo3Ns2CEoL8=", "narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "8b27c1239e5c421a2bbc2c65d52e4a6fbf2ff296", "rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "24.11-beta", "ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-24-11": {
"locked": {
"lastModified": 1732350895,
"narHash": "sha256-GcOQbOgmwlsRhpLGSwZJwLbo3pu9ochMETuRSS1xpz4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0c582677378f2d9ffcb01490af2f2c678dcb29d3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-24.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1731805462, "lastModified": 1732410305,
"narHash": "sha256-yhEMW4MBi+IAyEJyiKbnFvY1uARyMKJpLUhkczI49wk=", "narHash": "sha256-/hxIKRTBsdrnudJWDGaBN8wIjHovqVAVxXdi8ByVtck=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "b9f04e3cf71c23bea21d2768051e6b3068d44734", "rev": "87b6978992e2eb605732fba842cad0a7e14b2047",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -262,11 +278,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1731193165, "lastModified": 1732465698,
"narHash": "sha256-pGF8L5g9QpkQtJP9JmNIRNZfcyhJHf7uT+d8tqI1h6Y=", "narHash": "sha256-xiue+Kj2Jm8PwyZQcHl4CaYmMIgo5oi37hVHqiw2Unk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "plasma-manager", "repo": "plasma-manager",
"rev": "f33173b9d22e554a6f869626bc01808d35995257", "rev": "16d65cd02b5de665d1bcfec1616c02c71a1014a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -282,6 +298,7 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"nixos-grub-themes": "nixos-grub-themes", "nixos-grub-themes": "nixos-grub-themes",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-24-11": "nixpkgs-24-11",
"plasma-manager": "plasma-manager", "plasma-manager": "plasma-manager",
"sddm-sugar-candy-nix": "sddm-sugar-candy-nix", "sddm-sugar-candy-nix": "sddm-sugar-candy-nix",
"vscode-extensions": "vscode-extensions" "vscode-extensions": "vscode-extensions"
@ -346,11 +363,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732413494, "lastModified": 1732499683,
"narHash": "sha256-KcKOpa6da8/9MfGYRqUJhwK9Q2rNrLXxqZMQoojJTvA=", "narHash": "sha256-Hw95rpgNiyAL4v9pJF2756PMud6O0p/1XQixs5f/Shk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "aa61c826513046837049bca77493ad06dda37012", "rev": "b376bfa567fd25f9f22b6f51ffaa4f84d0b7c72f",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -3,7 +3,8 @@
inputs = { inputs = {
# General NixOS config # General NixOS config
nixpkgs.url = "github:NixOS/nixpkgs/24.11-beta"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixpkgs-24-11.url = "github:NixOS/nixpkgs/nixos-24.11";
# NixOS Grub Themes (hyperfluent) # NixOS Grub Themes (hyperfluent)
nixos-grub-themes = { nixos-grub-themes = {
url = "github:jeslie0/nixos-grub-themes"; url = "github:jeslie0/nixos-grub-themes";
@ -16,7 +17,7 @@
}; };
# Home Manager + Plasma # Home Manager + Plasma
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-24.11"; url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
plasma-manager = { plasma-manager = {
@ -44,9 +45,12 @@
}; };
}; };
outputs = inputs@{ nixpkgs, home-manager, sddm-sugar-candy-nix, ... }: { outputs = inputs@{ nixpkgs, home-manager, plasma-manager, ... }: let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
nixosConfigurations.ty-nixos = nixpkgs.lib.nixosSystem { nixosConfigurations.ty-nixos = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; inherit system;
modules = [ modules = [
./hosts/laptop ./hosts/laptop
@ -57,8 +61,23 @@
]; ];
specialArgs = { specialArgs = {
inherit inputs; inherit inputs system;
system = "x86_64-linux"; };
};
# Add home manager configuration compatibility to the main flake
homeConfigurations."ty" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [
plasma-manager.homeManagerModules.plasma-manager
./home-manager/home.nix
];
extraSpecialArgs = {
inherit inputs system;
}; };
}; };
}; };

View file

@ -1,7 +1,9 @@
{ ... }: { ... }:
{ {
home.stateVersion = "24.05"; home.stateVersion = "24.05";
home.username = "ty";
home.homeDirectory = "/home/ty";
imports = [ imports = [
./modules/packages.nix ./modules/packages.nix
./modules/plasma.nix ./modules/plasma.nix
@ -13,5 +15,6 @@
./modules/shell ./modules/shell
./modules/vscode.nix ./modules/vscode.nix
./modules/desktop.nix ./modules/desktop.nix
./modules/gtk.nix
]; ];
} }

View file

@ -32,6 +32,7 @@
# Basic options # Basic options
"privacy.userContext.newTabContainerOnLeftClick.enabled" = true; # Container selection on + "privacy.userContext.newTabContainerOnLeftClick.enabled" = true; # Container selection on +
"findbar.highlightAll" = true; # Highlight all search results in Ctrl+F
# Toolbar customization # Toolbar customization
"browser.uiCustomization.state" = '' "browser.uiCustomization.state" = ''

View file

@ -0,0 +1,20 @@
{ pkgs, ... }:
{
gtk = {
enable = true;
theme = {
name = "Breeze-Dark";
package = pkgs.kdePackages.breeze-gtk;
};
cursorTheme = {
name = "Vimix-cursors";
package = pkgs.vimix-cursors;
size = 24;
};
iconTheme = {
name = "beautyline-garuda";
package = (pkgs.callPackage ../../packages/beautyline {});
};
};
}

View file

@ -1,9 +1,9 @@
{ pkgs, inputs, system, ... }: { pkgs, inputs, system, ... }:
{ {
home.packages = (with pkgs; [ home.packages = (with pkgs; [
# Documents # Documents
logseq logseq
libreoffice-qt6-fresh inputs.nixpkgs-24-11.legacyPackages.${system}.libreoffice-qt6-fresh # Lock to 24.11 as the build is failing as of 11/24/24 on unstable
# Video # Video
jellyfin-media-player jellyfin-media-player
@ -15,11 +15,6 @@
# Tailscale # Tailscale
tailscale tailscale
# KDE Packages
kdePackages.kate
kdePackages.elisa
kdePackages.kdeconnect-kde
# KDE Themes # KDE Themes
vimix-cursors vimix-cursors
(pkgs.callPackage ../../packages/beautyline {}) (pkgs.callPackage ../../packages/beautyline {})
@ -31,7 +26,10 @@
# :3 # :3
fastfetch fastfetch
# Tools # UI Tools
qalculate-qt
# CLI Tools
ripgrep # Text searching and manipulation ripgrep # Text searching and manipulation
jq # JSON filtering jq # JSON filtering
eza # Directory lister eza # Directory lister
@ -40,15 +38,18 @@
nmap # Network scanning nmap # Network scanning
glow # Markdown rendering glow # Markdown rendering
tealdeer # TLDR tealdeer # TLDR
usbutils # `lsusb`
# Process tools # Process tools
btop # Process monitor btop # Process monitor
nvtopPackages.full # GPU monitor nvtopPackages.full # GPU monitor
]) ++ ([
# Basic linux tools
usbutils # `lsusb`
]) ++ [
# Firefox nightly # Firefox nightly
inputs.firefox-nightly.packages.${system}.firefox-nightly-bin inputs.firefox-nightly.packages.${system}.firefox-nightly-bin
]; ]) ++ (with pkgs.kdePackages; [
kate
elisa
kdeconnect-kde
polkit-kde-agent-1
]);
} }

View file

@ -4,8 +4,12 @@
enable = true; enable = true;
workspace = { workspace = {
# Enable Breeze Dark theme # Enable Breeze Dark theme for color and window style
lookAndFeel = "org.kde.breezedark.desktop"; colorScheme = "BreezeDark";
windowDecorations ={
library = "org.kde.breeze";
theme = "Breeze";
};
# Set cursor theme # Set cursor theme
cursor = { cursor = {
theme = "Vimix-cursors"; theme = "Vimix-cursors";
@ -16,9 +20,50 @@
# Set wallpaper to Shell # Set wallpaper to Shell
wallpaper = "${pkgs.kdePackages.plasma-workspace-wallpapers}/share/wallpapers/Shell/contents/images/5120x2880.jpg"; wallpaper = "${pkgs.kdePackages.plasma-workspace-wallpapers}/share/wallpapers/Shell/contents/images/5120x2880.jpg";
# Set colorful splash screen while plasma is loading # Set colorful splash screen while plasma is loading
splashScreen.theme = "Magna-Splash-6"; splashScreen.theme = "magna-splash-6";
}; };
panels = [
{
alignment = "center";
floating = true;
height = 44;
hiding = "dodgewindows";
lengthMode = "fill";
location = "bottom";
screen = "all";
widgets = [
{
name = "org.kde.plasma.kickoff";
config = {
General = {
icon = "nixos";
};
};
}
"org.kde.plasma.pager"
{
name = "org.kde.plasma.icontasks";
config = {
General = {
launchers = [
"applications:systemsettings.desktop" # KDE System Settings
"applications:org.kde.dolphin.desktop" # KDE File Manager
"applications:firefox-nightly.desktop" # Firefox
"applications:org.kde.konsole.desktop" # KDE Terminal App
"applications:codium.desktop" # VSCodium
];
};
};
}
"org.kde.plasma.marginsseparator"
"org.kde.plasma.systemtray"
"org.kde.plasma.digitalclock"
"org.kde.plasma.showdesktop"
];
}
];
# TODO Powerdevil # TODO Powerdevil
kwin = { kwin = {

View file

@ -10,6 +10,8 @@
}; };
}; };
settings = {}; settings = {
"mailnews.start_page.enabled" = false;
};
}; };
} }

View file

@ -46,6 +46,26 @@
# Nix # Nix
"nix.enableLanguageServer" = true; "nix.enableLanguageServer" = true;
"nix.serverPath" = "nixd"; "nix.serverPath" = "nixd";
"nix.serverSettings" = {
nixd = {
formatting = {
command = [ "nixfmt" ];
};
nixpkgs = {
expr = ''import (builtins.getFlake "/etc/nixos").inputs.nixpkgs { }'';
};
options = {
nixos = {
expr = ''(builtins.getFlake "/etc/nixos").nixosConfigurations.ty-nixos.options'';
};
home-manager = {
expr = ''(builtins.getFlake "/etc/nixos").homeConfigurations."ty".options'';
};
};
};
};
}; };
}; };
} }

View file

@ -1,4 +1,4 @@
{ ... }: { inputs, ... }:
{ {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
@ -8,4 +8,5 @@
system.stateVersion = "24.05"; system.stateVersion = "24.05";
nix.settings.experimental-features = [ "nix-command" "flakes" ]; nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
} }

View file

@ -2,4 +2,6 @@
{ {
# Enable KDE Plasma 6 # Enable KDE Plasma 6
services.desktopManager.plasma6.enable = true; services.desktopManager.plasma6.enable = true;
programs.dconf.enable = true;
programs.partition-manager.enable = true;
} }

View file

@ -6,6 +6,7 @@
wget wget
curl curl
neovim neovim
home-manager
# VCS # VCS
git git
jujutsu jujutsu

View file

@ -19,4 +19,7 @@
hashedPassword = "$y$j9T$XCQtsX/NObNFzrYu7JcJe/$HHgvh4Re6UjKvxMz.XuHw7dwNecnMP8je.4AHUjHnsB"; hashedPassword = "$y$j9T$XCQtsX/NObNFzrYu7JcJe/$HHgvh4Re6UjKvxMz.XuHw7dwNecnMP8je.4AHUjHnsB";
}; };
}; };
# Enable polkit user authentication
security.polkit.enable = true;
} }

View file

@ -1,7 +1,7 @@
{ stdenv, lib, ... }: { stdenv, lib, ... }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "quarks-splash-dark"; pname = "magna-splash-6";
version = "0.1"; version = "0.1";
src = lib.fileset.toSource { src = lib.fileset.toSource {