major rewrite of flake
This commit is contained in:
parent
f9a642398b
commit
9b99eef302
7 changed files with 214 additions and 2171 deletions
67
flake.lock
generated
67
flake.lock
generated
|
@ -8,11 +8,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734722315,
|
"lastModified": 1735613558,
|
||||||
"narHash": "sha256-N38C121MmlYoXzgHyXvJAZvgGqHplpnLIYbBYZSFPFU=",
|
"narHash": "sha256-AellDXIA2KrIAxi3PyvhMnkBiIEjYaLYruB6vuiDrTs=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "42bace224d95932f2c02fda8cf91991e0b7ac765",
|
"rev": "1600f91c10d6a033d75443be995a57ebe27d0165",
|
||||||
"revCount": 69,
|
"revCount": 76,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://gt.emenel.ca/emenel/audio.nix.git"
|
"url": "https://gt.emenel.ca/emenel/audio.nix.git"
|
||||||
},
|
},
|
||||||
|
@ -80,11 +80,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734366194,
|
"lastModified": 1735344290,
|
||||||
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
|
"narHash": "sha256-oJDtWPH1oJT34RJK1FSWjwX4qcGOBRkcNQPD0EbSfNM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
|
"rev": "613691f285dad87694c2ba1c9e6298d04736292d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -102,11 +102,11 @@
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"dir": "nix",
|
"dir": "nix",
|
||||||
"lastModified": 1730793763,
|
"lastModified": 1735500482,
|
||||||
"narHash": "sha256-m9agq+UNNwAovZj+WS5/1Yc1xoExG4A3SqmVP/e0r9Q=",
|
"narHash": "sha256-Mvd37Odri7hKwbUhaLt24TmoK/HTG1f1FuVbFNqhX9s=",
|
||||||
"ref": "refs/heads/master",
|
"ref": "refs/heads/master",
|
||||||
"rev": "606c488862df6c3be1e4e670f6e1e06008c84732",
|
"rev": "8bc7033977e8bb18abe4c245a2f9169d29373a76",
|
||||||
"revCount": 875,
|
"revCount": 882,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/kmonad/kmonad?dir=nix"
|
"url": "https://github.com/kmonad/kmonad?dir=nix"
|
||||||
|
@ -176,11 +176,11 @@
|
||||||
},
|
},
|
||||||
"nix-flatpak": {
|
"nix-flatpak": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734864618,
|
"lastModified": 1735500379,
|
||||||
"narHash": "sha256-8SCTJhDH1fdNGGFhuGStIqbO7vwUKQokgQu6nQlQagY=",
|
"narHash": "sha256-5qmX6YYjYfVYBbsmd2XxbTi7A59YuuN9IwfXU7qFquQ=",
|
||||||
"owner": "gmodena",
|
"owner": "gmodena",
|
||||||
"repo": "nix-flatpak",
|
"repo": "nix-flatpak",
|
||||||
"rev": "13be795cac27df7044a425c0b2de3a42b10ddb18",
|
"rev": "c31b6cbd11707fe2c74ad805ef085d59d75116ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -189,33 +189,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-ld": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734338723,
|
|
||||||
"narHash": "sha256-BpJs2QnVwdE4Btsx2BcBmdsq86H7QJYv2GmoOkr1ii4=",
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-ld",
|
|
||||||
"rev": "911665df070e3d6c970e5a248fc4a38550bd5689",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "nix-ld",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734862644,
|
"lastModified": 1735388221,
|
||||||
"narHash": "sha256-04xesW7HITdF5WUmNM39WD4tkEERk3Ez2W1nNvdIvIw=",
|
"narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "e8516a23524cc9083f5a02a8d64d14770e4c7c09",
|
"rev": "7c674c6734f61157e321db595dbfcd8523e04e19",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -242,11 +222,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734649271,
|
"lastModified": 1735471104,
|
||||||
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
|
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
|
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -258,11 +238,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734737257,
|
"lastModified": 1735531152,
|
||||||
"narHash": "sha256-GIMyMt1pkkoXdCq9un859bX6YQZ/iYtukb9R5luazLM=",
|
"narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "1c6e20d41d6a9c1d737945962160e8571df55daa",
|
"rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -279,7 +259,6 @@
|
||||||
"kmonad": "kmonad",
|
"kmonad": "kmonad",
|
||||||
"musnix": "musnix",
|
"musnix": "musnix",
|
||||||
"nix-flatpak": "nix-flatpak",
|
"nix-flatpak": "nix-flatpak",
|
||||||
"nix-ld": "nix-ld",
|
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||||
|
|
75
flake.nix
75
flake.nix
|
@ -13,7 +13,7 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch. Use github:gmodena/nix-flatpak/?ref=<tag> to pin releases.
|
nix-flatpak.url = "github:gmodena/nix-flatpak"; # unstable branch
|
||||||
|
|
||||||
kmonad = {
|
kmonad = {
|
||||||
url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
|
url = "git+https://github.com/kmonad/kmonad?submodules=1&dir=nix";
|
||||||
|
@ -35,45 +35,62 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-ld.url = "github:Mic92/nix-ld";
|
# nix-ld.url = "github:Mic92/nix-ld";
|
||||||
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
|
# nix-ld.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
# affinity-nix.url = "github:mrshmllow/affinity-nix";
|
# affinity-nix.url = "github:mrshmllow/affinity-nix";
|
||||||
# affinity-nix.inputs.nixpkgs.follows = "nixpkgs";
|
# affinity-nix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = {nixpkgs, nixpkgs-unstable, wezterm, home-manager, audio, nix-flatpak, kmonad, musnix, nix-ld, self, ... } @ inputs: {
|
outputs = {nixpkgs, nixpkgs-unstable, wezterm, home-manager, audio, nix-flatpak, kmonad, musnix, self, ... } @ inputs:
|
||||||
|
let
|
||||||
|
inherit (self) outputs;
|
||||||
|
# Supported systems for your flake packages, shell, etc.
|
||||||
|
systems = [
|
||||||
|
"aarch64-linux"
|
||||||
|
"i686-linux"
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-darwin"
|
||||||
|
"x86_64-darwin"
|
||||||
|
];
|
||||||
|
# This is a function that generates an attribute by calling a function you
|
||||||
|
# pass to it, with each system as an argument
|
||||||
|
forAllSystems = nixpkgs.lib.genAttrs systems;
|
||||||
|
|
||||||
# packages = nixpkgs.legacyPackages.x86_64-linux;
|
in {
|
||||||
|
|
||||||
nixosConfigurations = {
|
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
|
||||||
eddie = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
specialArgs = { inherit inputs; }; # Pass flake inputs to our config
|
|
||||||
modules = [
|
|
||||||
nix-flatpak.nixosModules.nix-flatpak
|
|
||||||
kmonad.nixosModules.default
|
|
||||||
musnix.nixosModules.musnix
|
|
||||||
nix-ld.nixosModules.nix-ld
|
|
||||||
./system/eddie/configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
overlays = import ./overlays {inherit inputs;};
|
||||||
|
|
||||||
homeConfigurations = {
|
nixosConfigurations = {
|
||||||
"emenel" = home-manager.lib.homeManagerConfiguration {
|
eddie = nixpkgs.lib.nixosSystem {
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
specialArgs = {
|
||||||
extraSpecialArgs = {
|
inherit inputs outputs;
|
||||||
inherit inputs;
|
pkgs-unstable = import nixpkgs-unstable { system = "x86_64-linux"; config.allowUnfree = true; };
|
||||||
pkgs-unstable = nixpkgs-unstable.legacyPackages.x86_64-linux;
|
};
|
||||||
|
modules = [
|
||||||
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
|
kmonad.nixosModules.default
|
||||||
|
musnix.nixosModules.musnix
|
||||||
|
./system/eddie/configuration.nix
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
};
|
||||||
|
|
||||||
modules = [
|
|
||||||
nix-flatpak.homeManagerModules.nix-flatpak
|
homeConfigurations = {
|
||||||
./home/home.nix
|
"emenel" = home-manager.lib.homeManagerConfiguration {
|
||||||
];
|
pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
|
||||||
|
extraSpecialArgs = {
|
||||||
|
inherit inputs outputs;
|
||||||
|
};
|
||||||
|
|
||||||
|
modules = [
|
||||||
|
nix-flatpak.homeManagerModules.nix-flatpak
|
||||||
|
./home/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,22 @@
|
||||||
{ nix-flatpak, lib, pkgs, inputs, pkgs-unstable, ... }:
|
{ nix-flatpak, lib, pkgs, inputs, outputs, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
# You can add overlays here
|
||||||
overlays = [
|
overlays = [
|
||||||
inputs.audio.overlays.default
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||||
|
# outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
|
||||||
(_: prev: {
|
# inputs.audio.overlays.default
|
||||||
ulauncher = prev.ulauncher.overrideAttrs (old: {
|
|
||||||
propagatedBuildInputs = with prev.python3Packages;
|
|
||||||
old.propagatedBuildInputs
|
|
||||||
++ [
|
|
||||||
thefuzz
|
|
||||||
tornado
|
|
||||||
];
|
|
||||||
});
|
|
||||||
})
|
|
||||||
|
|
||||||
(_: prev: {
|
|
||||||
wineWowPackages.stagingFull = prev.wineWowPackages.stagingFull.overrideAttrs (old: {
|
|
||||||
patches = old.patches ++ [ ./wine-6006.patch ];
|
|
||||||
});
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Configure your nixpkgs instance
|
||||||
|
config = {
|
||||||
|
# Disable if you don't want unfree packages
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
|
@ -79,9 +72,6 @@
|
||||||
|
|
||||||
nix-du
|
nix-du
|
||||||
|
|
||||||
# nvtopPackages.amd
|
|
||||||
# nvtopPackages.nvidia
|
|
||||||
|
|
||||||
usbutils
|
usbutils
|
||||||
pciutils
|
pciutils
|
||||||
util-linux
|
util-linux
|
||||||
|
@ -206,6 +196,7 @@
|
||||||
mesa-demos
|
mesa-demos
|
||||||
|
|
||||||
# gnomeExtensions.clipboard-indicator
|
# gnomeExtensions.clipboard-indicator
|
||||||
|
gnomeExtensions.pano
|
||||||
gnomeExtensions.just-perfection
|
gnomeExtensions.just-perfection
|
||||||
gnomeExtensions.dash-to-dock
|
gnomeExtensions.dash-to-dock
|
||||||
gnomeExtensions.solaar-extension
|
gnomeExtensions.solaar-extension
|
||||||
|
@ -213,9 +204,7 @@
|
||||||
gnomeExtensions.media-controls
|
gnomeExtensions.media-controls
|
||||||
gnomeExtensions.looking-glass-button
|
gnomeExtensions.looking-glass-button
|
||||||
gnomeExtensions.auto-power-profile
|
gnomeExtensions.auto-power-profile
|
||||||
# gnomeExtensions.tray-icons-reloaded
|
|
||||||
gnomeExtensions.appindicator
|
gnomeExtensions.appindicator
|
||||||
# snixembed
|
|
||||||
gnomeExtensions.notification-banner-reloaded
|
gnomeExtensions.notification-banner-reloaded
|
||||||
gnome-software
|
gnome-software
|
||||||
gnome-tweaks
|
gnome-tweaks
|
||||||
|
@ -236,7 +225,7 @@
|
||||||
whitesur-icon-theme
|
whitesur-icon-theme
|
||||||
bibata-cursors
|
bibata-cursors
|
||||||
piper
|
piper
|
||||||
libratbag
|
# libratbag
|
||||||
|
|
||||||
icloudpd
|
icloudpd
|
||||||
squirreldisk
|
squirreldisk
|
||||||
|
@ -258,14 +247,14 @@
|
||||||
|
|
||||||
# bottles
|
# bottles
|
||||||
|
|
||||||
(pkgs-unstable.yabridge.override {
|
(pkgs.unstable.yabridge.override {
|
||||||
wine = (wineWowPackages.stagingFull.override {
|
wine = (wineWowPackages.stagingFull.override {
|
||||||
waylandSupport = true;
|
waylandSupport = true;
|
||||||
fontconfigSupport = true;
|
fontconfigSupport = true;
|
||||||
vulkanSupport = true;
|
vulkanSupport = true;
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
(pkgs-unstable.yabridgectl.override {
|
(pkgs.unstable.yabridgectl.override {
|
||||||
wine = (wineWowPackages.stagingFull.override {
|
wine = (wineWowPackages.stagingFull.override {
|
||||||
waylandSupport = true;
|
waylandSupport = true;
|
||||||
fontconfigSupport = true;
|
fontconfigSupport = true;
|
||||||
|
@ -304,10 +293,11 @@
|
||||||
plexamp
|
plexamp
|
||||||
amberol
|
amberol
|
||||||
carla
|
carla
|
||||||
wireplumber
|
# wireplumber
|
||||||
audacity
|
# audacity
|
||||||
|
tenacity
|
||||||
supercollider-with-plugins
|
supercollider-with-plugins
|
||||||
bitwig-studio5-latest
|
bitwig-studio
|
||||||
blender
|
blender
|
||||||
davinci-resolve-studio
|
davinci-resolve-studio
|
||||||
steam
|
steam
|
||||||
|
@ -315,6 +305,8 @@
|
||||||
handbrake
|
handbrake
|
||||||
renoise
|
renoise
|
||||||
krita
|
krita
|
||||||
|
darling
|
||||||
|
darling-dmg
|
||||||
rawtherapee
|
rawtherapee
|
||||||
inkscape
|
inkscape
|
||||||
gimp
|
gimp
|
||||||
|
@ -328,15 +320,13 @@
|
||||||
plugdata
|
plugdata
|
||||||
pavucontrol
|
pavucontrol
|
||||||
qpwgraph
|
qpwgraph
|
||||||
coppwr
|
helvum
|
||||||
alsa-utils
|
alsa-utils
|
||||||
alsa-tools
|
alsa-tools
|
||||||
clapper
|
clapper
|
||||||
ardour
|
ardour
|
||||||
parinfer-rust-emacs
|
parinfer-rust-emacs
|
||||||
dockfmt
|
dockfmt
|
||||||
clap
|
|
||||||
batik
|
|
||||||
(callPackage ../packages/mioctl/mioctl.nix {})
|
(callPackage ../packages/mioctl/mioctl.nix {})
|
||||||
|
|
||||||
# Audio plugins (LV2, VST2, VST3, LADSPA)
|
# Audio plugins (LV2, VST2, VST3, LADSPA)
|
||||||
|
@ -356,8 +346,11 @@
|
||||||
cardinal
|
cardinal
|
||||||
roomeqwizard
|
roomeqwizard
|
||||||
guitarix
|
guitarix
|
||||||
paulxstretch
|
# paulxstretch
|
||||||
vital
|
vital
|
||||||
|
helio-workstation
|
||||||
|
stochas
|
||||||
|
|
||||||
(callPackage ../packages/tal/bassline.nix {})
|
(callPackage ../packages/tal/bassline.nix {})
|
||||||
(callPackage ../packages/tal/j8.nix {})
|
(callPackage ../packages/tal/j8.nix {})
|
||||||
(callPackage ../packages/tal/u-no-lx.nix {})
|
(callPackage ../packages/tal/u-no-lx.nix {})
|
||||||
|
@ -463,6 +456,7 @@
|
||||||
epkgs.nixfmt
|
epkgs.nixfmt
|
||||||
epkgs.parinfer-rust-mode
|
epkgs.parinfer-rust-mode
|
||||||
epkgs.tree-sitter-langs
|
epkgs.tree-sitter-langs
|
||||||
|
epkgs.gpastel
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
ripgrep = {
|
ripgrep = {
|
||||||
|
|
File diff suppressed because it is too large
Load diff
36
overlays/default.nix
Normal file
36
overlays/default.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# This file defines overlays
|
||||||
|
{inputs, ...}: {
|
||||||
|
# This one brings our custom packages from the 'pkgs' directory
|
||||||
|
# additions = final: _prev: import ../pkgs final.pkgs;
|
||||||
|
|
||||||
|
# This one contains whatever you want to overlay
|
||||||
|
# You can change versions, add patches, set compilation flags, anything really.
|
||||||
|
# https://nixos.wiki/wiki/Overlays
|
||||||
|
modifications = final: prev: {
|
||||||
|
# example = prev.example.overrideAttrs (oldAttrs: rec {
|
||||||
|
# ...
|
||||||
|
# });
|
||||||
|
|
||||||
|
ulauncher = prev.ulauncher.overrideAttrs (old: {
|
||||||
|
propagatedBuildInputs = with prev.python3Packages;
|
||||||
|
old.propagatedBuildInputs
|
||||||
|
++ [
|
||||||
|
thefuzz
|
||||||
|
tornado
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
wineWowPackages.stagingFull = prev.wineWowPackages.stagingFull.overrideAttrs (old: {
|
||||||
|
patches = old.patches ++ [ ./wine-6006.patch ];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
# When applied, the unstable nixpkgs set (declared in the flake inputs) will
|
||||||
|
# be accessible through 'pkgs.unstable'
|
||||||
|
unstable-packages = final: _prev: {
|
||||||
|
unstable = import inputs.nixpkgs-unstable {
|
||||||
|
system = final.system;
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -2,7 +2,7 @@
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ nixos-hardware, config, pkgs, musnix, lib, ... }:
|
{ nixos-hardware, config, pkgs, musnix, lib, inputs, outputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
@ -11,8 +11,44 @@
|
||||||
./razer-speaker-fix.nix
|
./razer-speaker-fix.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Allow unfree packages
|
nixpkgs = {
|
||||||
nixpkgs.config.allowUnfree = true;
|
# You can add overlays here
|
||||||
|
overlays = [
|
||||||
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
||||||
|
# outputs.overlays.additions
|
||||||
|
outputs.overlays.modifications
|
||||||
|
outputs.overlays.unstable-packages
|
||||||
|
];
|
||||||
|
# Configure your nixpkgs instance
|
||||||
|
config = {
|
||||||
|
# Disable if you don't want unfree packages
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = let
|
||||||
|
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||||
|
in {
|
||||||
|
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "daily";
|
||||||
|
options = "--delete-older-than +3";
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
# Enable flakes and new 'nix' command
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
# Workaround for https://github.com/NixOS/nix/issues/9574
|
||||||
|
nix-path = config.nix.nixPath;
|
||||||
|
};
|
||||||
|
# Opinionated: disable channels
|
||||||
|
channel.enable = false;
|
||||||
|
|
||||||
|
# Opinionated: make flake registry and nix path match flake inputs
|
||||||
|
registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs;
|
||||||
|
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||||
|
};
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
@ -48,8 +84,8 @@
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ];
|
initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" "snd-virmidi"];
|
||||||
kernelParams = [ "nvidia-drm.fbdev=1" "nvidia_drm.modeset=1"];
|
kernelParams = [ "nvidia_drm.fbdev=1" "nvidia_drm.modeset=1"];
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"];
|
systemd.services.tailscaled.after = ["NetworkManager-wait-online.service"];
|
||||||
|
@ -166,18 +202,6 @@
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_CA.UTF-8";
|
i18n.defaultLocale = "en_CA.UTF-8";
|
||||||
|
|
||||||
nix.nixPath = [ "nixos-config=/home/emenel/source/nixos-config" "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos" ];
|
|
||||||
|
|
||||||
nix.package = pkgs.nixVersions.latest;
|
|
||||||
nix.settings = {
|
|
||||||
experimental-features = [ "nix-command" "flakes" ]; #repl-flake
|
|
||||||
auto-optimise-store = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nix.gc.automatic = true;
|
|
||||||
nix.gc.dates = "daily";
|
|
||||||
nix.gc.options = "--delete-older-than +3";
|
|
||||||
|
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
# Enable the GNOME Desktop Environment.
|
||||||
|
@ -203,42 +227,49 @@
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
services.envfs.enable = true;
|
services.envfs.enable = true;
|
||||||
|
|
||||||
#services.emacs = {
|
services.gnome.gnome-remote-desktop.enable = false;
|
||||||
# enable = true;
|
|
||||||
#};
|
|
||||||
|
|
||||||
# Enable sound with pipewire.
|
# Enable sound with pipewire.
|
||||||
hardware.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
services.gnome.gnome-remote-desktop.enable = false;
|
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
enable = true;
|
enable = true;
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
alsa = {
|
||||||
|
enable = true;
|
||||||
|
support32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
wireplumber.enable = true;
|
|
||||||
|
|
||||||
extraConfig.pipewire."91-null-sinks" = {
|
wireplumber = {
|
||||||
"context.modules" = [
|
enable = true;
|
||||||
{
|
};
|
||||||
name = "libpipewire-module-loopback";
|
|
||||||
args = {
|
extraConfig = {
|
||||||
"node.description" = "Default Playback";
|
pipewire."91-null-sinks" = {
|
||||||
"capture.props" = {
|
"context.modules" = [
|
||||||
"node.name" = "BixSix_or_fallback_Playback";
|
{
|
||||||
"media.class" = "Audio/Sink";
|
name = "libpipewire-module-loopback";
|
||||||
"audio.position" = "[FL FR]";
|
args = {
|
||||||
|
"node.description" = "Default Playback";
|
||||||
|
"capture.props" = {
|
||||||
|
"node.name" = "BixSix_or_fallback_Playback";
|
||||||
|
"media.class" = "Audio/Sink";
|
||||||
|
"audio.position" = "[FL FR]";
|
||||||
|
};
|
||||||
|
"playback.props" = {
|
||||||
|
"node.name" = "playback.BixSixWithFallbackPlayback";
|
||||||
|
"audio.position" = "[AUX14 AUX15]";
|
||||||
|
"target.object" = "alsa_output.usb-Solid_State_Logic_BiG_SiX-00.pro-output-0";
|
||||||
|
"stream.dont-remix" = true;
|
||||||
|
"node.passive" = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
"playback.props" = {
|
}
|
||||||
"node.name" = "playback.BixSixWithFallbackPlayback";
|
];
|
||||||
"audio.position" = "[AUX14 AUX15]";
|
};
|
||||||
"target.object" = "alsa_output.usb-Solid_State_Logic_BiG_SiX-00.pro-output-0";
|
|
||||||
"stream.dont-remix" = true;
|
|
||||||
"node.passive" = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -262,7 +293,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.flatpak.enable = true;
|
services.flatpak.enable = true;
|
||||||
|
services.ratbagd.enable = true;
|
||||||
services.dbus.implementation = "broker";
|
services.dbus.implementation = "broker";
|
||||||
|
|
||||||
#programs.gnupg.enable = true;
|
#programs.gnupg.enable = true;
|
||||||
|
@ -287,7 +318,7 @@
|
||||||
config = builtins.readFile ../../dotfiles/dot_config/kmonad/sinc.kbd;
|
config = builtins.readFile ../../dotfiles/dot_config/kmonad/sinc.kbd;
|
||||||
};
|
};
|
||||||
razer = {
|
razer = {
|
||||||
extraGroups = [ "openrazer" ];
|
extraGroups = [ "openrazer" ];
|
||||||
device = "/dev/input/by-id/usb-Razer_Razer_Blade-if01-event-kbd";
|
device = "/dev/input/by-id/usb-Razer_Razer_Blade-if01-event-kbd";
|
||||||
config = builtins.readFile ../../dotfiles/dot_config/kmonad/razer.kbd;
|
config = builtins.readFile ../../dotfiles/dot_config/kmonad/razer.kbd;
|
||||||
};
|
};
|
||||||
|
@ -317,8 +348,8 @@
|
||||||
binfmt = true;
|
binfmt = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.nix-ld.dev.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
programs.nix-ld.dev.libraries = with pkgs; [
|
programs.nix-ld.libraries = with pkgs; [
|
||||||
zlib
|
zlib
|
||||||
zstd
|
zstd
|
||||||
stdenv.cc.cc
|
stdenv.cc.cc
|
||||||
|
@ -345,6 +376,7 @@
|
||||||
libGLU.dev
|
libGLU.dev
|
||||||
libuv.out
|
libuv.out
|
||||||
libressl.out
|
libressl.out
|
||||||
|
libudev-zero.out
|
||||||
];
|
];
|
||||||
|
|
||||||
services.udev.packages = with pkgs; [
|
services.udev.packages = with pkgs; [
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue