Compare commits

..

No commits in common. "573a8cc407c10c50d9eac2301f9a32dfbfc4add8" and "08b0fbcd0c63af6c96302b0740e816432acc0014" have entirely different histories.

19 changed files with 350 additions and 477 deletions

View file

@ -549,22 +549,6 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": {
"locked": {
"lastModified": 1726871744,
"narHash": "sha256-V5LpfdHyQkUF7RfOaDPrZDP+oqz88lTJrMT1+stXNwo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a1d92660c6b3b7c26fb883500a80ea9d33321be2",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1729855863, "lastModified": 1729855863,
@ -624,8 +608,7 @@
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur", "nur": "nur",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix"
"treefmt-nix": "treefmt-nix"
} }
}, },
"rust-overlay": { "rust-overlay": {
@ -738,24 +721,6 @@
"repo": "default", "repo": "default",
"type": "github" "type": "github"
} }
},
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1729613947,
"narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "aac86347fb5063960eccb19493e0cadcdb4205ca",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

294
flake.nix
View file

@ -7,7 +7,6 @@
nur.url = "github:nix-community/NUR"; nur.url = "github:nix-community/NUR";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
stylix.url = "github:pizzapim/stylix/release-24.05"; stylix.url = "github:pizzapim/stylix/release-24.05";
treefmt-nix.url = "github:numtide/treefmt-nix";
nix-index-database = { nix-index-database = {
url = "github:nix-community/nix-index-database"; url = "github:nix-community/nix-index-database";
@ -47,33 +46,13 @@
}; };
}; };
outputs = { outputs =
self, { self
nixpkgs, , nixpkgs
... , ...
} @ inputs: let }@inputs:
supportedSystems = [ let
"x86_64-linux" mkNixosSystem = {extraModule, nixpkgs' ? nixpkgs, useDefaultConfiguration ? true}: nixpkgs'.lib.nixosSystem rec {
"i686-linux"
"aarch64-linux"
];
forAllSystems' = nixpkgs.lib.genAttrs;
forAllSystems = forAllSystems' supportedSystems;
pkgsForSystem = system:
import nixpkgs {
inherit system;
};
treefmtEval = forAllSystems (
system: inputs.treefmt-nix.lib.evalModule (pkgsForSystem system) ./treefmt.nix
);
mkNixosSystem = {
extraModule,
nixpkgs' ? nixpkgs,
useDefaultConfiguration ? true,
}:
nixpkgs'.lib.nixosSystem rec {
system = "x86_64-linux"; system = "x86_64-linux";
specialArgs = { specialArgs = {
@ -81,194 +60,185 @@
flake = self; flake = self;
}; };
modules = modules = [
[ extraModule
extraModule ] ++ nixpkgs'.lib.optional useDefaultConfiguration ./nixos;
]
++ nixpkgs'.lib.optional useDefaultConfiguration ./nixos;
}; };
in { in
formatter = forAllSystems (system: (treefmtEval.${system}.config.build.wrapper)); {
nixosConfigurations = {
x260 = mkNixosSystem { extraModule = ({ pkgs, lib, ... }: {
imports = [ inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260 ];
nixosConfigurations = { config = {
x260 = mkNixosSystem { pim.lanzaboote.enable = true;
extraModule = { networking.hostName = "x260";
pkgs,
lib,
...
}: {
imports = [inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260];
config = { fprintd = {
pim.lanzaboote.enable = true;
networking.hostName = "x260";
fprintd = {
enable = true;
tod = {
enable = true; enable = true;
driver = pkgs.libfprint-2-tod1-vfs0090;
tod = {
enable = true;
driver = pkgs.libfprint-2-tod1-vfs0090;
};
}; };
swapDevices = [{ device = "/dev/disk/by-uuid/6028bf52-404d-4143-9cb0-9b06cd60a373"; }];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "rtsx_pci_sdmmc" ];
}; };
});
swapDevices = [{device = "/dev/disk/by-uuid/6028bf52-404d-4143-9cb0-9b06cd60a373";}];
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "rtsx_pci_sdmmc"];
};
}; };
};
x201 = mkNixosSystem { x201 = mkNixosSystem {extraModule = ({ pkgs, lib, ... }: {
extraModule = { imports = [ inputs.disko.nixosModules.disko ];
pkgs, config = {
lib, networking.hostName = "x201";
...
}: {
imports = [inputs.disko.nixosModules.disko];
config = {
networking.hostName = "x201";
boot.initrd.availableKernelModules = ["ehci_pci" "ahci" "usb_storage"]; boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "usb_storage" ];
disko.devices = {
disk = {
sda = {
device = "/dev/sda";
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
priority = 1; # Needs to be first partition
};
pv_os = { disko.devices = {
size = "100%"; disk = {
sda = {
device = "/dev/sda";
type = "disk";
content = {
type = "gpt";
partitions = {
boot = {
size = "1M";
type = "EF02"; # for grub MBR
priority = 1; # Needs to be first partition
};
content = { pv_os = {
type = "lvm_pv"; size = "100%";
vg = "vg_os";
content = {
type = "lvm_pv";
vg = "vg_os";
};
}; };
}; };
}; };
}; };
}; };
};
lvm_vg.vg_os = { lvm_vg.vg_os = {
type = "lvm_vg"; type = "lvm_vg";
lvs = { lvs = {
swap = { swap = {
size = "3GB"; size = "3GB";
content.type = "swap"; content.type = "swap";
}; };
root = { root = {
size = "100%FREE"; size = "100%FREE";
content = { content = {
type = "filesystem"; type = "filesystem";
format = "ext4"; format = "ext4";
mountpoint = "/"; mountpoint = "/";
mountOptions = ["defaults"]; mountOptions = [ "defaults" ];
};
}; };
}; };
}; };
}; };
}; };
}; });
}; };
};
sue-cosmic = mkNixosSystem { sue-cosmic = mkNixosSystem {
useDefaultConfiguration = false; useDefaultConfiguration = false;
extraModule = {...}: { extraModule = ({ ... }: {
imports = [ imports = [
inputs.nixos-hardware.nixosModules.dell-xps-13-9310 inputs.nixos-hardware.nixosModules.dell-xps-13-9310
inputs.nixos-cosmic.nixosModules.default inputs.nixos-cosmic.nixosModules.default
./modules/nixos/lanzaboote.nix ./modules/nixos/lanzaboote.nix
]; ];
config = { config = {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nix.settings = { nix.settings = {
substituters = ["https://cosmic.cachix.org/"]; substituters = [ "https://cosmic.cachix.org/" ];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
};
users = {
users.pim = {
isNormalUser = true;
extraGroups = ["wheel" "docker" "input" "wireshark" "dialout"];
};
};
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
pim.lanzaboote.enable = true;
networking.hostName = "xps-9315";
swapDevices = [{device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b";}];
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a";
fsType = "ext4";
}; };
"/boot" = { users = {
device = "/dev/disk/by-uuid/560E-F8A2"; users.pim = {
fsType = "vfat"; isNormalUser = true;
options = ["fmask=0022" "dmask=0022"]; extraGroups = [ "wheel" "docker" "input" "wireshark" "dialout" ];
};
}; };
};
boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494"; services.desktopManager.cosmic.enable = true;
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage"]; services.displayManager.cosmic-greeter.enable = true;
};
pim.lanzaboote.enable = true;
networking.hostName = "xps-9315";
swapDevices = [{ device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b"; }];
fileSystems = {
"/" =
{
device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a";
fsType = "ext4";
};
"/boot" =
{
device = "/dev/disk/by-uuid/560E-F8A2";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
};
boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494";
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" ];
};
});
}; };
};
sue = mkNixosSystem { sue = mkNixosSystem {extraModule = ({ ... }: {
extraModule = {...}: { imports = [ inputs.nixos-hardware.nixosModules.dell-xps-13-9310 ];
imports = [inputs.nixos-hardware.nixosModules.dell-xps-13-9310];
config = { config = {
pim.lanzaboote.enable = true; pim.lanzaboote.enable = true;
networking.hostName = "xps-9315"; networking.hostName = "xps-9315";
swapDevices = [{device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b";}]; swapDevices = [{ device = "/dev/disk/by-uuid/96a43c35-0174-4e92-81f0-168a5f601f0b"; }];
fileSystems = { fileSystems = {
"/" = { "/" =
device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a"; {
fsType = "ext4"; device = "/dev/disk/by-uuid/31638735-5cc4-4013-8037-17e30edcbb0a";
}; fsType = "ext4";
};
"/boot" = { "/boot" =
device = "/dev/disk/by-uuid/560E-F8A2"; {
fsType = "vfat"; device = "/dev/disk/by-uuid/560E-F8A2";
options = ["fmask=0022" "dmask=0022"]; fsType = "vfat";
}; options = [ "fmask=0022" "dmask=0022" ];
};
}; };
nix.settings = { nix.settings = {
substituters = ["https://cosmic.cachix.org/"]; substituters = [ "https://cosmic.cachix.org/" ];
trusted-public-keys = ["cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="]; trusted-public-keys = [ "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" ];
}; };
boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494"; boot.initrd.luks.devices."luks-8ffd3129-4908-4209-98c4-4eb68a35c494".device = "/dev/disk/by-uuid/8ffd3129-4908-4209-98c4-4eb68a35c494";
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage"]; boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" ];
# hardware.ipu6 = { # hardware.ipu6 = {
# enable = true; # enable = true;
# platform = "ipu6ep"; # platform = "ipu6ep";
# }; # };
}; };
});
}; };
}; };
}; };
};
} }

View file

@ -1,11 +1,4 @@
{ { pkgs, lib, config, inputs, flake, ... }: {
pkgs,
lib,
config,
inputs,
flake,
...
}: {
imports = [ imports = [
./neovim ./neovim
./firefox ./firefox
@ -24,69 +17,66 @@
mimeApps = { mimeApps = {
enable = true; enable = true;
defaultApplications = let defaultApplications =
applications = { let
telegram = { applications = {
mimeApp = "org.telegram.desktop.desktop"; telegram = {
mimeTypes = ["x-scheme-handler/tg"]; mimeApp = "org.telegram.desktop.desktop";
mimeTypes = [ "x-scheme-handler/tg" ];
};
librewolf = {
mimeApp = "librewolf.desktop";
mimeTypes = [
"x-scheme-handler/http"
"text/html"
"application/xhtml+xml"
"x-scheme-handler/https"
"application/pdf"
];
};
gnomeTextEditor = {
mimeApp = "org.gnome.TextEditor.desktop";
mimeTypes = [ "text/plain" ];
};
loupe = {
mimeApp = "org.gnome.Loupe.desktop";
mimeTypes = [
"image/jpeg"
"image/png"
"image/gif"
"image/webp"
"image/tiff"
"image/x-tga"
"image/vnd-ms.dds"
"image/x-dds"
"image/bmp"
"image/vnd.microsoft.icon"
"image/vnd.radiance"
"image/x-exr"
"image/x-portable-bitmap"
"image/x-portable-graymap"
"image/x-portable-pixmap"
"image/x-portable-anymap"
"image/x-qoi"
"image/svg+xml"
"image/svg+xml-compressed"
"image/avif"
"image/heic"
"image/jxl"
];
};
}; };
librewolf = { mimeTypesForApp = { mimeApp, mimeTypes }: map
mimeApp = "librewolf.desktop"; (
mimeType: { "${mimeType}" = mimeApp; }
mimeTypes = [ )
"x-scheme-handler/http" mimeTypes;
"text/html" in
"application/xhtml+xml"
"x-scheme-handler/https"
"application/pdf"
];
};
gnomeTextEditor = {
mimeApp = "org.gnome.TextEditor.desktop";
mimeTypes = ["text/plain"];
};
loupe = {
mimeApp = "org.gnome.Loupe.desktop";
mimeTypes = [
"image/jpeg"
"image/png"
"image/gif"
"image/webp"
"image/tiff"
"image/x-tga"
"image/vnd-ms.dds"
"image/x-dds"
"image/bmp"
"image/vnd.microsoft.icon"
"image/vnd.radiance"
"image/x-exr"
"image/x-portable-bitmap"
"image/x-portable-graymap"
"image/x-portable-pixmap"
"image/x-portable-anymap"
"image/x-qoi"
"image/svg+xml"
"image/svg+xml-compressed"
"image/avif"
"image/heic"
"image/jxl"
];
};
};
mimeTypesForApp = {
mimeApp,
mimeTypes,
}:
map
(
mimeType: {"${mimeType}" = mimeApp;}
)
mimeTypes;
in
lib.zipAttrs (lib.flatten (map mimeTypesForApp (builtins.attrValues applications))); lib.zipAttrs (lib.flatten (map mimeTypesForApp (builtins.attrValues applications)));
}; };
}; };
@ -96,37 +86,35 @@
homeDirectory = "/home/pim"; homeDirectory = "/home/pim";
stateVersion = "23.05"; stateVersion = "23.05";
packages = packages = (with pkgs; [
(with pkgs; [ jellyfin-media-player
jellyfin-media-player virt-manager
virt-manager ]) ++ (with pkgs.unstable; [
]) attic-client
++ (with pkgs.unstable; [ dbeaver-bin
attic-client devenv
dbeaver-bin bottles-unwrapped
devenv gimp
bottles-unwrapped hexchat
gimp impression
hexchat insomnia
impression keepassxc
insomnia krita
keepassxc libreoffice
krita # logseq # Has insecure electron dependency
libreoffice moonlight-qt
# logseq # Has insecure electron dependency nicotine-plus
moonlight-qt qFlipper
nicotine-plus signal-desktop
qFlipper strawberry
signal-desktop telegram-desktop
strawberry vlc
telegram-desktop vorta
vlc wireshark
vorta # nheko # Has insecure olm dependency
wireshark handbrake
# nheko # Has insecure olm dependency feishin
handbrake ]);
feishin
]);
}; };
programs = { programs = {
@ -143,7 +131,7 @@
enable = true; enable = true;
settings.shell = { settings.shell = {
program = lib.getExe config.programs.tmux.package; program = lib.getExe config.programs.tmux.package;
args = ["attach"]; args = [ "attach" ];
}; };
}; };
@ -155,7 +143,7 @@
atuin = { atuin = {
enable = true; enable = true;
flags = ["--disable-up-arrow"]; flags = [ "--disable-up-arrow" ];
enableFishIntegration = true; enableFishIntegration = true;
settings = { settings = {
@ -229,7 +217,7 @@
enable = true; enable = true;
extraConfig = "User root"; extraConfig = "User root";
matchBlocks.github = lib.hm.dag.entryBefore ["*"] { matchBlocks.github = lib.hm.dag.entryBefore [ "*" ] {
hostname = "github.com"; hostname = "github.com";
user = "pizzapim"; user = "pizzapim";
identitiesOnly = true; identitiesOnly = true;

View file

@ -1,10 +1,11 @@
pkgs: lib: let pkgs: lib:
let
rycee-addons = pkgs.nur.repos.rycee.firefox-addons; rycee-addons = pkgs.nur.repos.rycee.firefox-addons;
custom-addons = import ./custom-addons.nix pkgs lib; custom-addons = import ./custom-addons.nix pkgs lib;
in in
with rycee-addons; [ with rycee-addons; [
ublock-origin ublock-origin
istilldontcareaboutcookies istilldontcareaboutcookies
keepassxc-browser keepassxc-browser
custom-addons.simple-style-fox-2 custom-addons.simple-style-fox-2
] ]

View file

@ -1,22 +1,15 @@
pkgs: lib: let pkgs: lib:
let
# Stolen from: https://github.com/nix-community/nur-combined/blob/master/repos/rycee/pkgs/firefox-addons/default.nix # Stolen from: https://github.com/nix-community/nur-combined/blob/master/repos/rycee/pkgs/firefox-addons/default.nix
buildFirefoxXpiAddon = lib.makeOverridable ({ buildFirefoxXpiAddon = lib.makeOverridable ({ stdenv ? pkgs.stdenv
stdenv ? pkgs.stdenv, , fetchurl ? pkgs.fetchurl, pname, version, addonId, url, sha256, meta, ...
fetchurl ? pkgs.fetchurl, }:
pname,
version,
addonId,
url,
sha256,
meta,
...
}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${pname}-${version}"; name = "${pname}-${version}";
inherit meta; inherit meta;
src = fetchurl {inherit url sha256;}; src = fetchurl { inherit url sha256; };
preferLocalBuild = true; preferLocalBuild = true;
allowSubstitutes = true; allowSubstitutes = true;
@ -32,12 +25,14 @@ in {
pname = "http-version-indicator"; pname = "http-version-indicator";
version = "3.2.1"; version = "3.2.1";
addonId = "spdyindicator@chengsun.github.com"; addonId = "spdyindicator@chengsun.github.com";
url = "https://addons.mozilla.org/firefox/downloads/file/3767224/http2_indicator-3.2.1.xpi"; url =
"https://addons.mozilla.org/firefox/downloads/file/3767224/http2_indicator-3.2.1.xpi";
sha256 = "be9518017334ce502a1da514542c2ca4f974217d0c8e6c7c31d518aba57c09a8"; sha256 = "be9518017334ce502a1da514542c2ca4f974217d0c8e6c7c31d518aba57c09a8";
meta = with lib; { meta = with lib; {
homepage = "https://github.com/bsiegel/http-version-indicator"; homepage = "https://github.com/bsiegel/http-version-indicator";
description = "An indicator showing the HTTP version used to load the page in the address bar."; description =
mozPermissions = ["<all_urls>" "tabs" "webNavigation" "webRequest"]; "An indicator showing the HTTP version used to load the page in the address bar.";
mozPermissions = [ "<all_urls>" "tabs" "webNavigation" "webRequest" ];
platforms = platforms.all; platforms = platforms.all;
}; };
}; };
@ -45,11 +40,13 @@ in {
pname = "indicatetls"; pname = "indicatetls";
version = "0.3.0"; version = "0.3.0";
addonId = "{252ee273-8c8d-4609-b54d-62ae345be0a1}"; addonId = "{252ee273-8c8d-4609-b54d-62ae345be0a1}";
url = "https://addons.mozilla.org/firefox/downloads/file/3608595/indicatetls-0.3.0.xpi"; url =
"https://addons.mozilla.org/firefox/downloads/file/3608595/indicatetls-0.3.0.xpi";
sha256 = "7a3b7edb1085f7b15d279c1013fac1d68f5247cfd6312d5275cb053e24a79465"; sha256 = "7a3b7edb1085f7b15d279c1013fac1d68f5247cfd6312d5275cb053e24a79465";
meta = with lib; { meta = with lib; {
homepage = "https://github.com/jannispinter/indicatetls"; homepage = "https://github.com/jannispinter/indicatetls";
description = "Displays negotiated SSL/TLS protocol version and additional security information in the address bar"; description =
"Displays negotiated SSL/TLS protocol version and additional security information in the address bar";
license = licenses.mpl20; license = licenses.mpl20;
mozPermissions = [ mozPermissions = [
"tabs" "tabs"
@ -66,13 +63,15 @@ in {
pname = "sixindicator"; pname = "sixindicator";
version = "1.3.0"; version = "1.3.0";
addonId = "{8c9cad02-c069-4e93-909d-d874da819c49}"; addonId = "{8c9cad02-c069-4e93-909d-d874da819c49}";
url = "https://addons.mozilla.org/firefox/downloads/file/3493442/sixindicator-1.3.0.xpi"; url =
"https://addons.mozilla.org/firefox/downloads/file/3493442/sixindicator-1.3.0.xpi";
sha256 = "415ab83ed4ac94d1efe114752a09df29536d1bd54cc9b7e5ce5d9ee55a84226d"; sha256 = "415ab83ed4ac94d1efe114752a09df29536d1bd54cc9b7e5ce5d9ee55a84226d";
meta = with lib; { meta = with lib; {
homepage = "https://github.com/HostedDinner/SixIndicator"; homepage = "https://github.com/HostedDinner/SixIndicator";
description = "Shows a simple icon, if IPv6 or IPv4 was used for the request of the site. When clicking on the icon, more information is shown, like the number of requests per domain and if these requests were made via IPv6 or IPv4."; description =
"Shows a simple icon, if IPv6 or IPv4 was used for the request of the site. When clicking on the icon, more information is shown, like the number of requests per domain and if these requests were made via IPv6 or IPv4.";
license = licenses.mit; license = licenses.mit;
mozPermissions = ["tabs" "webRequest" "<all_urls>"]; mozPermissions = [ "tabs" "webRequest" "<all_urls>" ];
platforms = platforms.all; platforms = platforms.all;
}; };
}; };
@ -80,12 +79,13 @@ in {
pname = "simple-style-fox-2"; pname = "simple-style-fox-2";
version = "10.0"; version = "10.0";
addonId = "{317526c6-ff2b-49c9-822e-d77b4a3da1d1}"; addonId = "{317526c6-ff2b-49c9-822e-d77b4a3da1d1}";
url = "https://addons.mozilla.org/firefox/downloads/file/3934220/simple_style_fox_2-10.0.xpi"; url =
"https://addons.mozilla.org/firefox/downloads/file/3934220/simple_style_fox_2-10.0.xpi";
sha256 = "1aaac3ba08d21086d7087015f92a27661940df45a97bf5680588c883f799a97d"; sha256 = "1aaac3ba08d21086d7087015f92a27661940df45a97bf5680588c883f799a97d";
meta = with lib; { meta = with lib; {
description = "Simple style fox 2"; description = "Simple style fox 2";
license = licenses.cc-by-30; license = licenses.cc-by-30;
mozPermissions = []; mozPermissions = [ ];
platforms = platforms.all; platforms = platforms.all;
}; };
}; };

View file

@ -1,8 +1,5 @@
{ { pkgs, lib, ... }:
pkgs, let
lib,
...
}: let
firefoxAddons = import ./addons.nix pkgs lib; firefoxAddons = import ./addons.nix pkgs lib;
firefoxSettings = { firefoxSettings = {
"browser.aboutConfig.showWarning" = false; "browser.aboutConfig.showWarning" = false;
@ -17,7 +14,8 @@
"browser.newtabpage.activity-stream.showSponsored" = false; "browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
}; };
in { in
{
config = { config = {
programs.firefox = { programs.firefox = {
enable = true; enable = true;

View file

@ -1,11 +1,5 @@
{ { pkgs, lib, flake, config, ... }: {
pkgs, home.packages = with pkgs; [ gnome.gnome-tweaks ];
lib,
flake,
config,
...
}: {
home.packages = with pkgs; [gnome.gnome-tweaks];
dconf.settings = with lib.hm.gvariant; { dconf.settings = with lib.hm.gvariant; {
"org/gnome/desktop/sound".allow-volume-above-100-percent = true; "org/gnome/desktop/sound".allow-volume-above-100-percent = true;
@ -26,8 +20,8 @@
}; };
"org/gnome/desktop/input-sources" = { "org/gnome/desktop/input-sources" = {
sources = [(mkTuple ["xkb" "us"])]; sources = [ (mkTuple [ "xkb" "us" ]) ];
xkb-options = ["terminate:ctrl_alt_bksp" "caps:escape"]; xkb-options = [ "terminate:ctrl_alt_bksp" "caps:escape" ];
}; };
"org/gnome/shell/extensions/pop-shell" = { "org/gnome/shell/extensions/pop-shell" = {
@ -56,19 +50,19 @@
}; };
"org/gnome/desktop/wm/keybindings" = { "org/gnome/desktop/wm/keybindings" = {
close = ["<Shift><Super>q"]; close = [ "<Shift><Super>q" ];
minimize = mkEmptyArray type.string; minimize = mkEmptyArray type.string;
move-to-workspace-1 = ["<Shift><Super>1"]; move-to-workspace-1 = [ "<Shift><Super>1" ];
move-to-workspace-2 = ["<Shift><Super>2"]; move-to-workspace-2 = [ "<Shift><Super>2" ];
move-to-workspace-3 = ["<Shift><Super>3"]; move-to-workspace-3 = [ "<Shift><Super>3" ];
move-to-workspace-4 = ["<Shift><Super>4"]; move-to-workspace-4 = [ "<Shift><Super>4" ];
switch-applications = mkEmptyArray type.string; switch-applications = mkEmptyArray type.string;
switch-applications-backward = mkEmptyArray type.string; switch-applications-backward = mkEmptyArray type.string;
switch-to-workspace-1 = ["<Super>1"]; switch-to-workspace-1 = [ "<Super>1" ];
switch-to-workspace-2 = ["<Super>2"]; switch-to-workspace-2 = [ "<Super>2" ];
switch-to-workspace-3 = ["<Super>3"]; switch-to-workspace-3 = [ "<Super>3" ];
switch-to-workspace-4 = ["<Super>4"]; switch-to-workspace-4 = [ "<Super>4" ];
toggle-fullscreen = ["<Super>f"]; toggle-fullscreen = [ "<Super>f" ];
}; };
"org/gnome/shell/extensions/space-iflow-randomwallpaper" = { "org/gnome/shell/extensions/space-iflow-randomwallpaper" = {
@ -78,7 +72,7 @@
history-length = 1; history-length = 1;
hours = 0; hours = 0;
minutes = 30; minutes = 30;
sources = ["42"]; sources = [ "42" ];
fetch-on-startup = true; fetch-on-startup = true;
}; };

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ... }: {
config = { config = {
programs.neovim = { programs.neovim = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { { pkgs, ...}: {
home.packages = with pkgs; [ home.packages = with pkgs; [
supercollider-with-sc3-plugins supercollider-with-sc3-plugins
]; ];

View file

@ -1,8 +1,4 @@
{ { pkgs, lib, ... }: {
pkgs,
lib,
...
}: {
programs.vscode = { programs.vscode = {
enable = true; enable = true;
package = pkgs.vscodium; package = pkgs.vscodium;

View file

@ -1,12 +1,4 @@
{ { pkgs, config, lib, inputs, flake, system, ... }: {
pkgs,
config,
lib,
inputs,
flake,
system,
...
}: {
imports = [ imports = [
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
./lanzaboote.nix ./lanzaboote.nix
@ -27,13 +19,13 @@
xserver = { xserver = {
enable = true; enable = true;
displayManager.gdm = {enable = true;}; displayManager.gdm = { enable = true; };
excludePackages = with pkgs; [xterm]; excludePackages = with pkgs; [ xterm ];
}; };
printing = { printing = {
enable = true; enable = true;
drivers = [pkgs.hplip pkgs.gutenprint]; drivers = [ pkgs.hplip pkgs.gutenprint ];
}; };
pipewire = { pipewire = {
@ -48,7 +40,7 @@
users = { users = {
users.pim = { users.pim = {
isNormalUser = true; isNormalUser = true;
extraGroups = ["wheel" "docker" "input" "wireshark" "dialout"]; extraGroups = [ "wheel" "docker" "input" "wireshark" "dialout" ];
}; };
}; };
@ -102,7 +94,7 @@
nix = { nix = {
package = pkgs.nixFlakes; package = pkgs.nixFlakes;
settings.trusted-users = ["root" "pim"]; settings.trusted-users = [ "root" "pim" ];
extraOptions = '' extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes
@ -130,10 +122,9 @@
hostPlatform = lib.mkDefault "x86_64-linux"; hostPlatform = lib.mkDefault "x86_64-linux";
config = { config = {
allowUnfreePredicate = pkg: allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
builtins.elem (lib.getName pkg) [ "libfprint-2-tod1-goodix"
"libfprint-2-tod1-goodix" ];
];
}; };
overlays = [ overlays = [
@ -148,12 +139,12 @@
}; };
boot = { boot = {
kernelModules = ["kvm-intel" "cdrom"]; kernelModules = [ "kvm-intel" "cdrom" ];
extraModulePackages = []; extraModulePackages = [ ];
initrd = { initrd = {
availableKernelModules = ["sd_mod"]; availableKernelModules = [ "sd_mod" ];
kernelModules = []; kernelModules = [ ];
}; };
kernel.sysctl = { kernel.sysctl = {
@ -170,8 +161,8 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
extraSpecialArgs = {inherit flake inputs;}; extraSpecialArgs = { inherit flake inputs; };
users.pim.imports = ["${flake}/home-manager"]; users.pim.imports = [ "${flake}/home-manager" ];
}; };
} }

View file

@ -1,38 +1,34 @@
{pkgs, ...}: { { pkgs, ... }: {
services.xserver.desktopManager.gnome.enable = true; services.xserver.desktopManager.gnome.enable = true;
environment = { environment = {
systemPackages = systemPackages = [
[ pkgs.gnome.gnome-shell-extensions
pkgs.gnome.gnome-shell-extensions ] ++ (with pkgs.gnomeExtensions; [
] pop-shell
++ (with pkgs.gnomeExtensions; [ window-is-ready-remover
pop-shell random-wallpaper
window-is-ready-remover workspaces-indicator-by-open-apps
random-wallpaper ]);
workspaces-indicator-by-open-apps
]);
gnome.excludePackages = gnome.excludePackages = (with pkgs; [
(with pkgs; [ epiphany
epiphany gnome-connections
gnome-connections gnome-console
gnome-console gnome-tour
gnome-tour ]) ++ (with pkgs.gnome; [
]) geary
++ (with pkgs.gnome; [ gnome-calendar
geary gnome-clocks
gnome-calendar gnome-contacts
gnome-clocks gnome-font-viewer
gnome-contacts gnome-logs
gnome-font-viewer gnome-maps
gnome-logs gnome-music
gnome-maps seahorse
gnome-music totem
seahorse yelp
totem gnome-weather
yelp ]);
gnome-weather
]);
}; };
} }

View file

@ -1,9 +1,4 @@
{ { config, lib, inputs, ... }: {
config,
lib,
inputs,
...
}: {
imports = [ imports = [
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
]; ];

View file

@ -1,12 +1,7 @@
{ { inputs, pkgs, flake, ... }: {
inputs, imports = [ inputs.sops-nix.nixosModules.sops ];
pkgs,
flake,
...
}: {
imports = [inputs.sops-nix.nixosModules.sops];
environment.systemPackages = with pkgs; [sops]; environment.systemPackages = with pkgs; [ sops ];
sops = { sops = {
age.keyFile = "/home/pim/.config/sops/age/keys.txt"; age.keyFile = "/home/pim/.config/sops/age/keys.txt";

View file

@ -1,9 +1,5 @@
{ { pkgs, inputs, ... }: {
pkgs, imports = [ inputs.stylix.nixosModules.stylix ];
inputs,
...
}: {
imports = [inputs.stylix.nixosModules.stylix];
stylix = { stylix = {
enable = true; enable = true;
@ -18,7 +14,7 @@
fonts = { fonts = {
monospace = { monospace = {
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];}; package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
name = "JetBrainsMono Nerd Font Mono"; name = "JetBrainsMono Nerd Font Mono";
}; };

View file

@ -1,10 +1,10 @@
{pkgs, ...}: { {pkgs, ...}: {
environment.systemPackages = [pkgs.gnomeExtensions.tailscale-status]; environment.systemPackages = [ pkgs.gnomeExtensions.tailscale-status ];
services.tailscale = { services.tailscale = {
enable = true; enable = true;
useRoutingFeatures = "client"; useRoutingFeatures = "client";
}; };
networking.networkmanager.unmanaged = ["tailscale0"]; networking.networkmanager.unmanaged = [ "tailscale0" ];
} }

View file

@ -1,3 +1,3 @@
{...}: { { ... }: {
users.users.pim.extraGroups = ["audio"]; users.users.pim.extraGroups = ["audio"];
} }

View file

@ -1,49 +1,41 @@
{ { lib, config, ... }: {
lib,
config,
...
}: {
networking = { networking = {
useDHCP = lib.mkDefault true; useDHCP = lib.mkDefault true;
networkmanager.unmanaged = ["tailscale0"]; networkmanager.unmanaged = [ "tailscale0" ];
wg-quick.interfaces = { wg-quick.interfaces = {
home = { home = {
privateKeyFile = config.sops.secrets."wireguard/home/privateKey".path; privateKeyFile = config.sops.secrets."wireguard/home/privateKey".path;
address = ["10.225.191.4/24"]; address = [ "10.225.191.4/24" ];
dns = ["192.168.30.131"]; dns = [ "192.168.30.131" ];
autostart = false; autostart = false;
mtu = 1412; mtu = 1412;
peers = [ peers = [{
{ presharedKeyFile = config.sops.secrets."wireguard/home/presharedKey".path;
presharedKeyFile = config.sops.secrets."wireguard/home/presharedKey".path; endpoint = "wg.kun.is:51820";
endpoint = "wg.kun.is:51820"; publicKey = "fa3mQ7ximJbH7cu2ZbWidto5xBGxEEfWvCCiUDk00Hg=";
publicKey = "fa3mQ7ximJbH7cu2ZbWidto5xBGxEEfWvCCiUDk00Hg="; allowedIPs = [ "0.0.0.0/0" ];
allowedIPs = ["0.0.0.0/0"]; }];
}
];
}; };
home-no-pihole = { home-no-pihole = {
privateKeyFile = config.sops.secrets."wireguard/home/privateKey".path; privateKeyFile = config.sops.secrets."wireguard/home/privateKey".path;
address = ["10.225.191.4/24"]; address = [ "10.225.191.4/24" ];
dns = ["192.168.10.1"]; dns = [ "192.168.10.1" ];
autostart = false; autostart = false;
mtu = 1412; mtu = 1412;
peers = [ peers = [{
{ presharedKeyFile = config.sops.secrets."wireguard/home/presharedKey".path;
presharedKeyFile = config.sops.secrets."wireguard/home/presharedKey".path; endpoint = "wg.kun.is:51820";
endpoint = "wg.kun.is:51820"; publicKey = "fa3mQ7ximJbH7cu2ZbWidto5xBGxEEfWvCCiUDk00Hg=";
publicKey = "fa3mQ7ximJbH7cu2ZbWidto5xBGxEEfWvCCiUDk00Hg="; allowedIPs = [ "0.0.0.0/0" ];
allowedIPs = ["0.0.0.0/0"]; }];
}
];
}; };
}; };
}; };
sops.secrets = { sops.secrets = {
"wireguard/home/presharedKey" = {}; "wireguard/home/presharedKey" = { };
"wireguard/home/privateKey" = {}; "wireguard/home/privateKey" = { };
}; };
} }

View file

@ -1,4 +0,0 @@
{...}: {
projectRootFile = "flake.nix";
programs.alejandra.enable = true;
}