This commit is contained in:
BalrajSinghGidda
2026-03-21 21:10:17 +05:30
parent 246ab0cb33
commit fbcf2a598d
6 changed files with 344 additions and 19 deletions

190
flake.lock generated
View File

@@ -1,5 +1,57 @@
{
"nodes": {
"flake-compat": {
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1751685974,
"narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=",
"ref": "refs/heads/main",
"rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1",
"revCount": 92,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1769996383,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -21,7 +73,101 @@
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1770419553,
"narHash": "sha256-b1XqsH7AtVf2dXmq2iyRr2NC1yG7skY7Z6N2MpWHlK4=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "2aaffa8030d0b262176146adbb6b0e6374ce2957",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"ndg": {
"inputs": {
"nixpkgs": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1768214250,
"narHash": "sha256-hnBZDQWUxJV3KbtvyGW5BKLO/fAwydrxm5WHCWMQTbw=",
"owner": "feel-co",
"repo": "ndg",
"rev": "a6bd3c1ce2668d096e4fdaaa03ad7f03ba1fbca8",
"type": "github"
},
"original": {
"owner": "feel-co",
"ref": "refs/tags/v2.6.0",
"repo": "ndg",
"type": "github"
}
},
"nix-alien": {
"inputs": {
"flake-compat": "flake-compat",
"nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1771150922,
"narHash": "sha256-+oQJun4CFDlOQRocbZpqQDj7agoy56/4ZjT1oUR7NOs=",
"owner": "thiagokokada",
"repo": "nix-alien",
"rev": "96045e886ba0dd45b27590e7c0c6e77bbb54033d",
"type": "github"
},
"original": {
"owner": "thiagokokada",
"repo": "nix-alien",
"type": "github"
}
},
"nix-index-database": {
"inputs": {
"nixpkgs": [
"nix-alien",
"nixpkgs"
]
},
"locked": {
"lastModified": 1771130777,
"narHash": "sha256-UIKOwG0D9XVIJfNWg6+gENAvQP+7LO46eO0Jpe+ItJ0=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "efec7aaad8d43f8e5194df46a007456093c40f88",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-index-database",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1771008912,
"narHash": "sha256-gf2AmWVTs8lEq7z/3ZAsgnZDhWIckkb+ZnAo5RzSxJg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a82ccc39b39b621151d6732718e3e250109076fa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1773821835,
"narHash": "sha256-TJ3lSQtW0E2JrznGVm8hOQGVpXjJyXY2guAxku2O9A4=",
@@ -36,10 +182,52 @@
"type": "indirect"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-parts": "flake-parts",
"mnw": "mnw",
"ndg": "ndg",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1774106254,
"narHash": "sha256-t/rImG4Y0Xd5+LD0QIbF+zp5T0M8kDM0Ecq2nrbUBjM=",
"owner": "NotAShelf",
"repo": "nvf",
"rev": "5e491e9659b3fa4d707baf9320d3bcc86a59b692",
"type": "github"
},
"original": {
"owner": "NotAShelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
"nix-alien": "nix-alien",
"nixpkgs": "nixpkgs_2",
"nvf": "nvf"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},

View File

@@ -13,6 +13,10 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nix-alien.url = "github:thiagokokada/nix-alien";
nvf = {
url = "github:NotAShelf/nvf";
inputs.nixpkgs.follows = "nixpkgs";
};
};
# Flake outputs - what this flake produces
@@ -20,14 +24,17 @@
# System configuration for the "nixos-btw" host
nixosConfigurations.nixos-btw = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit nix-alien; };
modules = [
# Import host-specific configuration
./hosts/nixos-btw
({ self, system, ... }: {
environment.systemPackages = with self.inputs.nix-alien.packages.${system}; [
nix-alien
];
# Add nix-alien to system packages
({ pkgs, ... }: {
environment.systemPackages = [
nix-alien.packages.x86_64-linux.nix-alien
];
})
# Enable Home Manager as a NixOS module
home-manager.nixosModules.home-manager

View File

@@ -2,15 +2,18 @@
{
# Nix-alien is a tool for running unpatched binaries on NixOS
# Instead of using fetchTarball which requires SHA, we'll use the package from nixpkgs if available
# or install it via the nix-ld mechanism
# For now, commenting this out as it causes build errors
# Users can install nix-alien manually if needed: nix-env -iA nixpkgs.nix-alien
# home.packages = [
# pkgs.nix-alien or null
# ];
# Note: programs.nix-ld.enable is set at the system level in modules/nixos/core.nix
# It's installed at the system level via the flake.nix input
# This module is kept for documentation and future configurations
# Note:
# - nix-alien is added via flake.nix using the nix-alien flake input
# - programs.nix-ld.enable is set at the system level in modules/nixos/core.nix
# - To use: nix-alien <binary-name> or nix-alien-ld <binary>
# Shell aliases for convenience
programs.bash.shellAliases = {
# Make nix-alien easier to use
"na" = "nix-alien";
"nald" = "nix-alien-ld";
};
}

View File

@@ -23,7 +23,58 @@
programs.firefox.enable = true;
# Enable nix-ld for running unpatched binaries
programs.nix-ld.enable = true;
programs.nix-ld = {
enable = true;
# Add common libraries that non-NixOS binaries might need
libraries = with pkgs; [
# C/C++ standard libraries
stdenv.cc.cc.lib
glibc
# Common system libraries
zlib
zstd
xz
bzip2
gzip
# SSL/TLS
openssl
# X11 and graphics
xorg.libX11
xorg.libXext
xorg.libXrender
xorg.libXtst
xorg.libXi
libglvnd
mesa
# Audio
alsa-lib
libpulseaudio
# Other common dependencies
libcap
attr
acl
fontconfig
freetype
dbus
systemd
# Development libraries
curl
expat
libxml2
# For running FHS binaries
glib
nspr
nss
util-linux
];
};
# Dell-specific kernel modules for proper hardware support
boot.kernelModules = [

View File

@@ -22,7 +22,6 @@ in
tmux # Traditional terminal multiplexer
# Development tools
neovim # Modern Vim
direnv # Per-directory environment variables
redis # In-memory data store
@@ -57,7 +56,6 @@ in
# Productivity
libreoffice # Office suite
nix-alien # Nix Alien
# Custom packages
wallpapers # Custom wallpaper collection

View File

@@ -0,0 +1,78 @@
{ pkgs, ... }:
let
# Import custom wallpapers package
wallpapers = (pkgs.callPackage ./wallpapers.nix { });
in
{
# System-wide packages available to all users
environment.systemPackages = with pkgs; [
# Core utilities
vim # Text editor
wget # File downloader
nitch # System info fetch tool
git # Version control
lazygit # Terminal UI for git
gh # GitHub CLI
unzip # Archive extraction
# Terminal emulators & multiplexers
kitty # GPU-accelerated terminal
zellij # Modern terminal multiplexer
tmux # Traditional terminal multiplexer
# Development tools
neovim # Modern Vim
direnv # Per-directory environment variables
redis # In-memory data store
# Window manager & desktop environment
picom # Compositor for X11
rofi # Application launcher
xwallpaper # Wallpaper setter
feh # Image viewer and wallpaper setter
# System utilities
brightnessctl # Screen brightness control
pamixer # PulseAudio mixer
udisks2 # Disk management
eject # Eject removable media
libnotify # Desktop notifications library
dunst # Notification daemon
alsa-utils # ALSA sound utilities
libinput # Input device management
# Bluetooth management
blueman # Bluetooth manager GUI
bluez # Bluetooth stack
# Screenshot tools
maim # Screenshot utility
slop # Screen region selector
# X11 utilities
xbindkeys # Key binding utility
xclip # Clipboard utility
xcb-util-cursor # X11 cursor utilities
# Productivity
libreoffice # Office suite
# Custom packages
wallpapers # Custom wallpaper collection
];
# Font configuration
fonts.fontDir.enable = true;
fonts.packages = with pkgs; [
# Nerd Fonts (fonts with icons for terminal)
nerd-fonts.jetbrains-mono
nerd-fonts.lilex
nerd-fonts.ubuntu
# Microsoft fonts
corefonts # Arial, Times New Roman, etc.
vista-fonts # Calibri, Cambria, etc.
];
}