Compare commits

..

8 commits

14 changed files with 187 additions and 52 deletions

69
flake.lock generated
View file

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

View file

@ -3,7 +3,8 @@
inputs = {
# 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 = {
url = "github:jeslie0/nixos-grub-themes";
@ -16,7 +17,7 @@
};
# Home Manager + Plasma
home-manager = {
url = "github:nix-community/home-manager/release-24.11";
url = "github:nix-community/home-manager/master";
inputs.nixpkgs.follows = "nixpkgs";
};
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 {
system = "x86_64-linux";
inherit system;
modules = [
./hosts/laptop
@ -57,8 +61,23 @@
];
specialArgs = {
inherit inputs;
system = "x86_64-linux";
inherit inputs system;
};
};
# 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,6 +1,8 @@
{ ... }:
{
home.stateVersion = "24.05";
home.username = "ty";
home.homeDirectory = "/home/ty";
imports = [
./modules/packages.nix
@ -13,5 +15,6 @@
./modules/shell
./modules/vscode.nix
./modules/desktop.nix
./modules/gtk.nix
];
}

View file

@ -32,6 +32,7 @@
# Basic options
"privacy.userContext.newTabContainerOnLeftClick.enabled" = true; # Container selection on +
"findbar.highlightAll" = true; # Highlight all search results in Ctrl+F
# Toolbar customization
"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

@ -3,7 +3,7 @@
home.packages = (with pkgs; [
# Documents
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
jellyfin-media-player
@ -15,11 +15,6 @@
# Tailscale
tailscale
# KDE Packages
kdePackages.kate
kdePackages.elisa
kdePackages.kdeconnect-kde
# KDE Themes
vimix-cursors
(pkgs.callPackage ../../packages/beautyline {})
@ -31,7 +26,10 @@
# :3
fastfetch
# Tools
# UI Tools
qalculate-qt
# CLI Tools
ripgrep # Text searching and manipulation
jq # JSON filtering
eza # Directory lister
@ -40,15 +38,18 @@
nmap # Network scanning
glow # Markdown rendering
tealdeer # TLDR
usbutils # `lsusb`
# Process tools
btop # Process monitor
nvtopPackages.full # GPU monitor
# Basic linux tools
usbutils # `lsusb`
]) ++ [
]) ++ ([
# Firefox nightly
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;
workspace = {
# Enable Breeze Dark theme
lookAndFeel = "org.kde.breezedark.desktop";
# Enable Breeze Dark theme for color and window style
colorScheme = "BreezeDark";
windowDecorations ={
library = "org.kde.breeze";
theme = "Breeze";
};
# Set cursor theme
cursor = {
theme = "Vimix-cursors";
@ -16,9 +20,50 @@
# Set wallpaper to Shell
wallpaper = "${pkgs.kdePackages.plasma-workspace-wallpapers}/share/wallpapers/Shell/contents/images/5120x2880.jpg";
# 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
kwin = {

View file

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

View file

@ -46,6 +46,26 @@
# Nix
"nix.enableLanguageServer" = true;
"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 = [
./hardware-configuration.nix
@ -8,4 +8,5 @@
system.stateVersion = "24.05";
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
}

View file

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

View file

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

View file

@ -19,4 +19,7 @@
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.mkDerivation rec {
pname = "quarks-splash-dark";
pname = "magna-splash-6";
version = "0.1";
src = lib.fileset.toSource {