1

Compare commits

..

3 Commits

9 changed files with 121 additions and 52 deletions

65
flake.lock generated
View File

@ -26,11 +26,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1716455259, "lastModified": 1717033835,
"narHash": "sha256-b+7zKkadL5e7kb5NoXQU8kjYHyAVOphemo87K6lPgRo=", "narHash": "sha256-m+5EQOjc7AKKrPYD+GkAn2W52z92+9IBdIVtTu0WJTY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "794d2f9436e63c33350caf36f5009dd81f465d38", "rev": "441ed86922224973b0853255785d3ce88b683b1a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -42,11 +42,11 @@
"firefox-gnome-theme": { "firefox-gnome-theme": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1715874608, "lastModified": 1716813977,
"narHash": "sha256-JouEEHCgFk9WMAi1VFqNP+Ow5I5NFD+B2+3E6BG1Y3c=", "narHash": "sha256-8fabA8OY1n2OcJFbbE03+bMydVANSBrNGo8hkzhXxxU=",
"owner": "rafaelmardojai", "owner": "rafaelmardojai",
"repo": "firefox-gnome-theme", "repo": "firefox-gnome-theme",
"rev": "1efffcaa78904816f70dd493627412d299b23a52", "rev": "8171c0578feb835ce66d49edba7429f46b7ac3f6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -93,11 +93,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1716173274, "lastModified": 1716987116,
"narHash": "sha256-FC21Bn4m6ctajMjiUof30awPBH/7WjD0M5yqrWepZbY=", "narHash": "sha256-uuEkErFVsFdg2K0cKbNQ9JlFSAm/xYqPr4rbPLI91Y8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "d9e0b26202fd500cf3e79f73653cce7f7d541191", "rev": "8251761f93d6f5b91cee45ac09edb6e382641009",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -113,11 +113,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716457508, "lastModified": 1717052710,
"narHash": "sha256-ZxzffLuWRyuMrkVVq7wastNUqeO0HJL9xqfY1QsYaqo=", "narHash": "sha256-LRhOxzXmOza5SymhOgnEzA8EAQp+94kkeUYWKKpLJ/U=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "850cb322046ef1a268449cf1ceda5fd24d930b05", "rev": "29c69d9a466e41d46fd3a7a9d0591ef9c113c2ae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -126,6 +126,22 @@
"type": "github" "type": "github"
} }
}, },
"nix-flatpak": {
"locked": {
"lastModified": 1711997201,
"narHash": "sha256-J71xzQlVYsjagA4AsVwRazhBh2rZrPpKvxTgs6UzL7c=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "b76fa31346db7fc958a9898f3c594696ca71c4fd",
"type": "github"
},
"original": {
"owner": "gmodena",
"ref": "v0.4.1",
"repo": "nix-flatpak",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1704161960, "lastModified": 1704161960,
@ -144,11 +160,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1716361217, "lastModified": 1716633019,
"narHash": "sha256-mzZDr00WUiUXVm1ujBVv6A0qRd8okaITyUp4ezYRgc4=", "narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "46397778ef1f73414b03ed553a3368f0e7e33c2f", "rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -160,11 +176,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1716330097, "lastModified": 1716769173,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -176,11 +192,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1716330097, "lastModified": 1716769173,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=", "narHash": "sha256-7EXDb5WBw+d004Agt+JHC/Oyh/KTUglOaQ4MNjBbo5w=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2", "rev": "9ca3f649614213b2aaf5f1e16ec06952fe4c2632",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -192,11 +208,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1716474903, "lastModified": 1717054761,
"narHash": "sha256-cKXhdxWx1TOkJXf8rO9KYbc9VHioUBW0+0LVUm8koEE=", "narHash": "sha256-LBrHEBC0S7C6zjQTsjahAvxxlDH3cbZmEgHiri9o4SM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "ec5f6c8af1604fbed13debb8a34699ab5543781b", "rev": "a4eff07f9bbcf74522c642c72047ed03c3831501",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -212,6 +228,7 @@
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"hardware": "hardware", "hardware": "hardware",
"home-manager": "home-manager", "home-manager": "home-manager",
"nix-flatpak": "nix-flatpak",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3",
"nur": "nur" "nur": "nur"
} }

View File

@ -33,6 +33,8 @@
firefox-gnome-theme.url = "github:rafaelmardojai/firefox-gnome-theme"; firefox-gnome-theme.url = "github:rafaelmardojai/firefox-gnome-theme";
firefox-gnome-theme.flake = false; firefox-gnome-theme.flake = false;
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1";
# adwaita-for-steam.url = "github:tkashkin/Adwaita-for-Steam"; # adwaita-for-steam.url = "github:tkashkin/Adwaita-for-Steam";
# adwaita-for-steam.flake = false; # adwaita-for-steam.flake = false;
@ -104,6 +106,7 @@
extraModules = [ extraModules = [
# hyprland.nixosModules.default # NOTE: NixOS includes system module # hyprland.nixosModules.default # NOTE: NixOS includes system module
# inputs.nix-flatpak.nixosModules.nix-flatpak
]; ];
}; };
@ -116,6 +119,7 @@
extraModules = [ extraModules = [
# hyprland.nixosModules.default # NOTE: NixOS includes system module # hyprland.nixosModules.default # NOTE: NixOS includes system module
# inputs.nix-flatpak.nixosModules.nix-flatpak
]; ];
}; };
}; };

View File

@ -69,20 +69,20 @@ rec {
fish.enable = true; fish.enable = true;
flatpak = { # flatpak = {
enable = true; # enable = false;
autoUpdate = true; # autoUpdate = true;
autoPrune = true; # autoPrune = true;
fontFix = true; # TODO: This doesn't work reliably... # fontFix = true; # TODO: This doesn't work reliably...
iconFix = false; # iconFix = false;
flatseal.enable = true; # flatseal.enable = true;
discord.enable = true; # discord.enable = true;
spotify.enable = false; # Can't login because browser doesn't open # spotify.enable = true;
bottles.enable = false; # bottles.enable = false;
obsidian.enable = false; # Extremely low graph draw performance? # obsidian.enable = false; # Extremely low graph draw performance?
jabref.enable = false; # jabref.enable = false;
}; # };
helix.enable = true; helix.enable = true;
@ -175,10 +175,10 @@ rec {
}; };
}; };
# neovim = { neovim = {
# enable = false; enable = false;
# alias = true; alias = true;
# }; };
nextcloud = { nextcloud = {
enable = true; enable = true;
@ -376,10 +376,11 @@ rec {
cool-retro-term cool-retro-term
ventoy-full # Bootable USB for many ISOs ventoy-full # Bootable USB for many ISOs
# geekbench # geekbench
spotify # spotify # NOTE: Uses flatpak
neovide
sqlitebrowser # To modify tables sqlitebrowser # To modify tables
dbeaver # To import/export data + diagrams dbeaver-bin # To import/export data + diagrams
hoppscotch # Test APIs hoppscotch # Test APIs
# Xooooorg/Desktop environment stuff # Xooooorg/Desktop environment stuff
@ -879,6 +880,38 @@ rec {
services = { services = {
# kdeconnect.enable = true; # Note: This does not setup the firewall at all # kdeconnect.enable = true; # Note: This does not setup the firewall at all
flatpak = {
packages = [
"com.github.tchx84.Flatseal"
"com.discordapp.Discord"
"com.spotify.Client"
];
uninstallUnmanaged = true;
update.auto = {
enable = true;
onCalendar = "weekly"; # Default value
};
overrides = {
global = {
# Force Wayland by default
Context.sockets = ["wayland" "!x11" "!fallback-x11"];
Context.filesystems = ["/nix/store:ro"];
Environment = {
# Fix un-themed cursor in some Wayland apps
XCURSOR_PATH = "/run/host/user-share/icons:/run/host/share/icons";
# Force correct theme for some GTK apps
# GTK_THEME = "Adwaita:dark";
};
};
};
};
}; };
# Nicely reload system units when changing configs # Nicely reload system units when changing configs

View File

@ -27,5 +27,7 @@
./rofi ./rofi
./vscode ./vscode
./waybar ./waybar
inputs.nix-flatpak.homeManagerModules.nix-flatpak
]; ];
} }

View File

@ -14,10 +14,10 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
# TODO: Configure by option # TODO: Configure by option
home.sessionVariables = { # home.sessionVariables = {
EDITOR = "nvim"; # EDITOR = "nvim";
VISUAL = "nvim"; # VISUAL = "nvim";
}; # };
programs.neovim = { programs.neovim = {
enable = true; enable = true;

View File

@ -5,7 +5,7 @@
lib, lib,
... ...
}: rec { }: rec {
mkSystemdNetwork = interface: { mkSystemdNetwork = interface: routable: {
# name = "enp0s31f6"; # Network interface name? # name = "enp0s31f6"; # Network interface name?
enable = true; enable = true;
@ -30,7 +30,7 @@
linkConfig = { linkConfig = {
# This corresponds to the [LINK] section # This corresponds to the [LINK] section
# RequiredForOnline = "routable"; # RequiredForOnline = "routable";
RequiredForOnline = "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service RequiredForOnline = if routable then "routable" else "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service
}; };
}; };
@ -39,6 +39,7 @@
ip, ip,
router, router,
nameserver, nameserver,
routable,
}: { }: {
# name = "enp0s31f6"; # Network interface name? # name = "enp0s31f6"; # Network interface name?
enable = true; enable = true;
@ -75,7 +76,7 @@
linkConfig = { linkConfig = {
# This corresponds to the [LINK] section # This corresponds to the [LINK] section
# RequiredForOnline = "routable"; # RequiredForOnline = "routable";
RequiredForOnline = "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service RequiredForOnline = if routable then "routable" else "no"; # Don't make nixos-rebuild wait for systemd-networkd-wait-online.service
}; };
}; };

View File

@ -30,7 +30,7 @@ with mylib.networking; {
networks = { networks = {
# Default wildcard ethernet network for all hosts # Default wildcard ethernet network for all hosts
"50-ether" = mkSystemdNetwork "enp*"; "50-ether" = mkSystemdNetwork "enp*" false;
}; };
allowedTCPPorts = [ allowedTCPPorts = [

View File

@ -23,7 +23,18 @@ in {
# Main Networks # Main Networks
systemd.network = { systemd.network = {
enable = true; enable = true;
wait-online.anyInterface = true; # Don't wait for all networks to be configured, as e.g. wg0 will only be upon manual activation wait-online.timeout = 10;
# Don't wait for all networks to be configured, as e.g. wg0 will only be upon manual activation
wait-online.anyInterface = true;
# TODO: Apparently anyInterface doesn't work?
# wait-online.ignoredInterfaces = [
# "wg0"
# "wlp7s0"
# "enp5s0"
# ];
networks = cfg.networks; networks = cfg.networks;
}; };

View File

@ -36,6 +36,7 @@
ip = ["192.168.86.50/24"]; ip = ["192.168.86.50/24"];
router = ["192.168.86.5"]; router = ["192.168.86.5"];
nameserver = ["192.168.86.26"]; nameserver = ["192.168.86.26"];
routable = true;
}; };
# "10-ether-1G" = mylib.networking.mkStaticSystemdNetwork {...}; # "10-ether-1G" = mylib.networking.mkStaticSystemdNetwork {...};
}; };