split everything into modules and update nixpkgs
This commit is contained in:
+18
-61
@@ -1,57 +1,17 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
{ pkgs, inputs, ...}:
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
|
||||||
|
|
||||||
{ config, pkgs, ...}:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports = [
|
||||||
[
|
./hardware-configuration.nix
|
||||||
./hardware-configuration.nix
|
./system
|
||||||
./home/manager.nix
|
./home/manager.nix
|
||||||
./system
|
./services
|
||||||
];
|
./programs
|
||||||
|
./hardware
|
||||||
|
];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
networking.hostName = "nixos";
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
time.timeZone = "Asia/Kolkata";
|
|
||||||
|
|
||||||
i18n.defaultLocale = "en_IN";
|
|
||||||
i18n.extraLocaleSettings = {
|
|
||||||
LC_ADDRESS = "en_IN";
|
|
||||||
LC_IDENTIFICATION = "en_IN";
|
|
||||||
LC_MEASUREMENT = "en_IN";
|
|
||||||
LC_MONETARY = "en_IN";
|
|
||||||
LC_NAME = "en_IN";
|
|
||||||
LC_NUMERIC = "en_IN";
|
|
||||||
LC_PAPER = "en_IN";
|
|
||||||
LC_TELEPHONE = "en_IN";
|
|
||||||
LC_TIME = "en_IN";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.xserver.enable = true;
|
|
||||||
services.displayManager.sddm.enable = true;
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.printing.enable = false;
|
|
||||||
|
|
||||||
services.pulseaudio.enable = false;
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
services.pipewire = {
|
security.polkit.enable = true;
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.aditya = {
|
users.users.aditya = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
@@ -62,23 +22,20 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.firefox.enable = true;
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
bemenu
|
||||||
telegram-desktop
|
telegram-desktop
|
||||||
(discord.override {
|
(discord.override {
|
||||||
withOpenASAR = true;
|
withOpenASAR = true;
|
||||||
})
|
})
|
||||||
helix
|
helix
|
||||||
|
bruno
|
||||||
|
chromium
|
||||||
|
kdePackages.kdenlive
|
||||||
|
antigravity
|
||||||
|
zed-editor
|
||||||
|
devenv
|
||||||
nixd
|
nixd
|
||||||
nodejs
|
inputs.pano-scrobbler.packages."x86_64-linux".default
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings.experimental-features = [
|
|
||||||
"nix-command"
|
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "25.11";
|
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+32
-11
@@ -7,43 +7,43 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777851538,
|
"lastModified": 1779726825,
|
||||||
"narHash": "sha256-Gp8qwTEYNoy2yvmErVGlvLOQvrtEECCAKbonW7VJef8=",
|
"narHash": "sha256-RUkMrREjKDQrA+dA9+xZviGAxM5W1aVdyOr/bSYpHrE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "cc09c0f9b7eaa95c2d9827338a5eb03d32505ca5",
|
"rev": "b179bde238977f7d4454fc770b1a727eaf55111c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "release-25.11",
|
"ref": "release-26.05",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1778003029,
|
"lastModified": 1779971959,
|
||||||
"narHash": "sha256-q/nkKLDtHIyLjZpKhWk3cSK5IYsFqtMd6UtXF3ddjgA=",
|
"narHash": "sha256-R5nauXyqyfRUFiZycFFZdkF7wl6eaUpPLst35+2nJQY=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0c88e1f2bdb93d5999019e99cb0e61e1fe2af4c5",
|
"rev": "ec942ba042dad5ef097e2ef3a3effc034241f011",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"ref": "nixos-25.11",
|
"ref": "nixos-26.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1777954456,
|
"lastModified": 1779560665,
|
||||||
"narHash": "sha256-hGdgeU2Nk87RAuZyYjyDjFL6LK7dAZN5RE9+hrDTkDU=",
|
"narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "549bd84d6279f9852cae6225e372cc67fb91a4c1",
|
"rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -53,11 +53,32 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pano-scrobbler": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1779270916,
|
||||||
|
"narHash": "sha256-OEVnC5U5zeTcw6Br5YHEfOO+2/4U+dUMVByLF2hFYOU=",
|
||||||
|
"owner": "kawaiiDango",
|
||||||
|
"repo": "pano-scrobbler-flake",
|
||||||
|
"rev": "299c8dcec11254928e7df9dbd92c0888ea7eed47",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kawaiiDango",
|
||||||
|
"repo": "pano-scrobbler-flake",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
"pano-scrobbler": "pano-scrobbler",
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,19 +2,23 @@
|
|||||||
description = "aditya's flake";
|
description = "aditya's flake";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.11";
|
url = "github:nix-community/home-manager/release-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
pano-scrobbler = {
|
||||||
|
url = "github:kawaiiDango/pano-scrobbler-flake";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, home-manager, ... } @ inputs: {
|
outputs = { nixpkgs, home-manager, ... } @ inputs: {
|
||||||
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = false;
|
||||||
|
powerOnBoot = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./bluetooth.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
+65
-3
@@ -1,14 +1,76 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
home.username = "aditya";
|
home.username = "aditya";
|
||||||
home.homeDirectory = "/home/aditya";
|
home.homeDirectory = "/home/aditya";
|
||||||
home.stateVersion = "25.11";
|
home.stateVersion = "25.11";
|
||||||
|
|
||||||
home.packages = with pkgs.unstable; [
|
wayland.windowManager.sway = {
|
||||||
pear-desktop
|
enable = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
config = {
|
||||||
|
modifier = "Mod4";
|
||||||
|
input = {
|
||||||
|
"type:touchpad" = {
|
||||||
|
tap = "enabled";
|
||||||
|
tap_button_map = "lrm";
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
menu = "${pkgs.bemenu}/bin/bemenu-run";
|
||||||
|
keybindings = lib.mkOptionDefault {
|
||||||
|
"Mod4+d" = "exec ${pkgs.bemenu}/bin/bemenu-run";
|
||||||
|
};
|
||||||
|
output = {
|
||||||
|
"*" = { scale = "1.25"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
unstable.pear-desktop
|
||||||
|
unstable.cloudflared
|
||||||
];
|
];
|
||||||
|
|
||||||
|
xdg.configFile."pipewire/pipewire.conf.d/99-input-denoising.conf".text = ''
|
||||||
|
context.modules = [
|
||||||
|
{ name = libpipewire-module-filter-chain
|
||||||
|
args = {
|
||||||
|
node.description = "noise cancelling source"
|
||||||
|
media.name = "noise cancelling source"
|
||||||
|
filter.graph = {
|
||||||
|
nodes = [
|
||||||
|
{
|
||||||
|
type = ladspa
|
||||||
|
name = rnnoise
|
||||||
|
plugin = librnnoise_ladspa
|
||||||
|
label = noise_suppressor_mono
|
||||||
|
control = {
|
||||||
|
"VAD Threshold (%)" = 97.0
|
||||||
|
"VAD Grace Period (ms)" = 50
|
||||||
|
"Retroactive VAD Grace (ms)" = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
audio.rate = 48000
|
||||||
|
audio.position = ["MONO"]
|
||||||
|
capture.props = {
|
||||||
|
node.name = "capture.rnnoise_source"
|
||||||
|
node.passive = true
|
||||||
|
audio.rate = 48000
|
||||||
|
audio.channels = 1
|
||||||
|
}
|
||||||
|
playback.props = {
|
||||||
|
node.name = "rnnoise_source"
|
||||||
|
media.class = Audio/Source
|
||||||
|
audio.channels = 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
'';
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./programs
|
./programs
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{...}:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.zed-editor = {
|
programs.zed-editor = {
|
||||||
@@ -35,6 +35,13 @@
|
|||||||
light = "Crimson Light";
|
light = "Crimson Light";
|
||||||
dark = "Crimson Dark";
|
dark = "Crimson Dark";
|
||||||
};
|
};
|
||||||
|
lsp = {
|
||||||
|
rust-analyzer = {
|
||||||
|
binary = {
|
||||||
|
path = lib.getExe pkgs.rust-analyzer;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
programs = {
|
||||||
|
firefox.enable = true;
|
||||||
|
nix-ld.enable = true;
|
||||||
|
sway = {
|
||||||
|
enable = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./common.nix
|
||||||
|
./obs-studio.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.obs-studio = {
|
||||||
|
enable = true;
|
||||||
|
enableVirtualCamera = true;
|
||||||
|
plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
obs-pipewire-audio-capture
|
||||||
|
obs-vaapi
|
||||||
|
obs-plugin-countdown
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
services.cloudflared = {
|
||||||
|
enable = true;
|
||||||
|
tunnels = {
|
||||||
|
"thinkpad" = {
|
||||||
|
credentialsFile = "/home/aditya/.cloudflared/a3a0512b-6c48-44f9-b760-15d6cf7d1232.json";
|
||||||
|
default = "http_status:404";
|
||||||
|
ingress = {
|
||||||
|
"thinkpad.aditya.stream" = {
|
||||||
|
service = "http://localhost:3000";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.printing.enable = true;
|
||||||
|
services.printing.cups-pdf.enable = true;
|
||||||
|
services.printing.drivers = with pkgs; [ hplip ];
|
||||||
|
}
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./cloudflared.nix
|
||||||
|
./cups.nix
|
||||||
|
./pipewire.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
services.xserver = {
|
||||||
|
enable = true;
|
||||||
|
xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.displayManager.sddm.enable = true;
|
||||||
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
extraLadspaPackages = [ pkgs.rnnoise-plugin.ladspa ];
|
||||||
|
};
|
||||||
|
services.pulseaudio.enable = false;
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
boot.loader = {
|
||||||
|
systemd-boot.enable = false;
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
efiSupport = true;
|
||||||
|
useOSProber = true;
|
||||||
|
devices = [ "nodev" ];
|
||||||
|
};
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
time.timeZone = "Asia/Kolkata";
|
||||||
|
|
||||||
|
i18n.defaultLocale = "en_IN";
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "en_IN";
|
||||||
|
LC_IDENTIFICATION = "en_IN";
|
||||||
|
LC_MEASUREMENT = "en_IN";
|
||||||
|
LC_MONETARY = "en_IN";
|
||||||
|
LC_NAME = "en_IN";
|
||||||
|
LC_NUMERIC = "en_IN";
|
||||||
|
LC_PAPER = "en_IN";
|
||||||
|
LC_TELEPHONE = "en_IN";
|
||||||
|
LC_TIME = "en_IN";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
system.stateVersion = "25.11";
|
||||||
|
}
|
||||||
+3
-2
@@ -1,7 +1,8 @@
|
|||||||
{ ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./bootloader.nix
|
||||||
|
./networking.nix
|
||||||
|
./configuration.nix
|
||||||
./overlays.nix
|
./overlays.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
networking.hostName = "nixos";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user