Compare commits
12 commits
64b831e6ea
...
0d25462616
Author | SHA1 | Date | |
---|---|---|---|
|
0d25462616 | ||
|
f0529eed85 | ||
|
fc4f825cc3 | ||
|
126586c4ad | ||
|
9bd0699564 | ||
|
4e6b81cb16 | ||
|
3bc77e4703 | ||
|
a16c620a1f | ||
|
ad750ec7a9 | ||
|
5d867a0459 | ||
|
71cf771514 | ||
|
3bf888f7c8 |
23
flake.lock
23
flake.lock
|
@ -846,29 +846,13 @@
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-master": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1738943717,
|
|
||||||
"narHash": "sha256-KabzClxx6dREJyxZ+gffuBL1us/ZOcFJ8ZjgNtlM6yU=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a503a26038e1f3e868bb67269c1e96d169de1374",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "master",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1738940519,
|
"lastModified": 1741951773,
|
||||||
"narHash": "sha256-WXGiqZn8u+ynRzIywjwF6eVR38DSVvQCVqjZ6sHQMe8=",
|
"narHash": "sha256-OGEqTkGdx9MUENEPwU3NSKHECKt0ObW3GaD8L9zgMSw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b30cff4b9ac9dcf891534791fc92f2f425a80454",
|
"rev": "b5a00ebfb32ff0480ad90a213cfed6938ef04920",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -3838,7 +3822,6 @@
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"nvf": "nvf",
|
"nvf": "nvf",
|
||||||
|
|
25
flake.nix
25
flake.nix
|
@ -26,27 +26,30 @@
|
||||||
./hosts/common
|
./hosts/common
|
||||||
./hosts/earth
|
./hosts/earth
|
||||||
# universe
|
# universe
|
||||||
];
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "hm-old";
|
||||||
|
users.tx0 = import ./home;
|
||||||
|
extraSpecialArgs = {inherit system inputs u;};
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations.tx0 = inputs.home-manager.lib.homeManagerConfiguration {
|
nixpkgs.overlays = [(import ./overlays/spotx.nix)];
|
||||||
pkgs = import inputs.nixpkgs {
|
}
|
||||||
inherit system;
|
|
||||||
};
|
|
||||||
extraSpecialArgs = {inherit system inputs u;};
|
|
||||||
modules = [
|
|
||||||
./home
|
|
||||||
./universe.nix
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
systems = [system];
|
systems = [
|
||||||
|
"x86_64-linux"
|
||||||
|
"aarch64-linux"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
|
nixpkgs-stable.url = "github:nixos/nixpkgs/release-24.11";
|
||||||
nixpkgs-master.url = "github:nixos/nixpkgs/master";
|
|
||||||
|
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/NUR";
|
url = "github:nix-community/NUR";
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
{
|
{config, ...}: {
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
home = {
|
home = {
|
||||||
username = "tx0";
|
username = "tx0";
|
||||||
homeDirectory = "/home/tx0";
|
homeDirectory = "/home/tx0";
|
||||||
stateVersion = "24.11";
|
stateVersion = "24.11";
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
EDITOR = "${config.home.homeDirectory}/.nix-profile/bin/nvim";
|
EDITOR = "nvim";
|
||||||
HYPRSHOT_DIR = "${config.home.homeDirectory}/Pictures/Screenshots/";
|
HYPRSHOT_DIR = "${config.home.homeDirectory}/Pictures/Screenshots/";
|
||||||
FLAKE = "${config.home.homeDirectory}/universe/";
|
FLAKE = "${config.home.homeDirectory}/universe/";
|
||||||
NIXOS_OZONE_WL = 1;
|
NIXOS_OZONE_WL = 1;
|
||||||
|
|
|
@ -75,6 +75,14 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
binds.whichKey.enable = true;
|
binds.whichKey.enable = true;
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "<leader>e";
|
||||||
|
mode = "n";
|
||||||
|
silent = true;
|
||||||
|
action = "<cmd>Neotree filesystem toggle left<CR>";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
treesitter.context.enable = false;
|
treesitter.context.enable = false;
|
||||||
|
|
||||||
|
@ -97,6 +105,20 @@ in {
|
||||||
css.enable = true;
|
css.enable = true;
|
||||||
html.enable = true;
|
html.enable = true;
|
||||||
lua.enable = true;
|
lua.enable = true;
|
||||||
|
ts = {
|
||||||
|
enable = true;
|
||||||
|
format.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
filetree.neo-tree = {
|
||||||
|
enable = true;
|
||||||
|
setupOpts = {
|
||||||
|
enableCursorhijack = true;
|
||||||
|
enable_git_status = true;
|
||||||
|
git_status_async = true;
|
||||||
|
open_files_in_last_window = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
lazy.plugins = {
|
lazy.plugins = {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
services.udiskie = {
|
services.udiskie = {
|
||||||
enable = false;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
program_options = {
|
program_options = {
|
||||||
file_manager = "${pkgs.nautilus}/bin/nautilus";
|
file_manager = "${pkgs.nautilus}/bin/nautilus";
|
||||||
|
|
|
@ -1,34 +0,0 @@
|
||||||
{
|
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nix = {
|
|
||||||
package = pkgs.nix;
|
|
||||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
|
||||||
settings = {
|
|
||||||
extra-substituters = [
|
|
||||||
"https://cache.garnix.io"
|
|
||||||
"https://nix-community.cachix.org"
|
|
||||||
"https://cache.nixos.org/"
|
|
||||||
"https://hyprland.cachix.org"
|
|
||||||
];
|
|
||||||
extra-trusted-public-keys = [
|
|
||||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
||||||
];
|
|
||||||
builders-use-substitutes = true;
|
|
||||||
auto-optimise-store = true;
|
|
||||||
trusted-users = [
|
|
||||||
config.home.username
|
|
||||||
"root"
|
|
||||||
"@wheel"
|
|
||||||
];
|
|
||||||
warn-dirty = false;
|
|
||||||
extra-experimental-features = ["nix-command" "flakes"];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +0,0 @@
|
||||||
{...}: {
|
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
allowBroken = true;
|
|
||||||
allowAliases = true;
|
|
||||||
allowInsecure = true;
|
|
||||||
allowUnfreePredicate = _: true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
# derivations
|
# derivations
|
||||||
(callPackage ./derivations/bunnyfetch {})
|
(callPackage ./derivations/bunnyfetch {})
|
||||||
|
(callPackage ./derivations/ubports-installer {})
|
||||||
|
|
||||||
#fonts
|
#fonts
|
||||||
(google-fonts.override {fonts = ["Poppins" "Inter" "Roboto Mono"];})
|
(google-fonts.override {fonts = ["Poppins" "Inter" "Roboto Mono"];})
|
||||||
|
@ -26,6 +27,7 @@
|
||||||
# utilites
|
# utilites
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
xclip
|
xclip
|
||||||
|
waypipe
|
||||||
|
|
||||||
# cli
|
# cli
|
||||||
sops
|
sops
|
||||||
|
@ -36,6 +38,7 @@
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
eza
|
eza
|
||||||
bat
|
bat
|
||||||
|
quickemu
|
||||||
distrobox
|
distrobox
|
||||||
|
|
||||||
#net
|
#net
|
||||||
|
@ -64,6 +67,10 @@
|
||||||
mate.engrampa
|
mate.engrampa
|
||||||
prismlauncher
|
prismlauncher
|
||||||
inkscape
|
inkscape
|
||||||
|
pinta
|
||||||
|
hoppscotch
|
||||||
|
jetbrains.pycharm-community-bin
|
||||||
|
spotify
|
||||||
|
|
||||||
# de
|
# de
|
||||||
hyprpaper
|
hyprpaper
|
||||||
|
@ -75,7 +82,7 @@
|
||||||
nautilus
|
nautilus
|
||||||
|
|
||||||
# social
|
# social
|
||||||
telegram-desktop
|
_64gram
|
||||||
inputs.nixpkgs-stable.legacyPackages.${system}.vesktop
|
inputs.nixpkgs-stable.legacyPackages.${system}.vesktop
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
makeDesktopItem,
|
||||||
|
}: let
|
||||||
|
pname = "ubports-installer";
|
||||||
|
|
||||||
|
icon = ./ubports-mascot.png;
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
name = pname;
|
||||||
|
inherit icon;
|
||||||
|
desktopName = "Ubuntu Touch Installer";
|
||||||
|
genericName = "GUI for installing Ubuntu Touch";
|
||||||
|
exec = "@out@/bin/ubports-installer";
|
||||||
|
comment = "GUI for installing Ubuntu Touch";
|
||||||
|
categories = ["System"];
|
||||||
|
startupNotify = false;
|
||||||
|
keywords = ["system" "os" "network" "ubuntu" "touch" "mobile"];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 rec {
|
||||||
|
inherit pname;
|
||||||
|
version = "0.10.0";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/ubports/ubports-installer/releases/download/${version}/ubports-installer_${version}_linux_x86_64.AppImage";
|
||||||
|
hash = "sha256-RmSim4dJMCQsw+lFN17dhuL5AqfHNLyiDYQtzO5gymU=";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraInstallCommands =
|
||||||
|
lib.concatMapStringsSep "\n "
|
||||||
|
(e: ''
|
||||||
|
install -Dm444 -t $out/share/applications ${e}/share/applications/*.desktop
|
||||||
|
'')
|
||||||
|
desktopItems
|
||||||
|
+ ''
|
||||||
|
install -Dm444 ${icon} $out/share/icons/apps/${pname}.jpg;
|
||||||
|
|
||||||
|
for f in $out/share/applications/*.desktop; do
|
||||||
|
substituteInPlace $f --subst-var out
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Ubuntu Touch installer";
|
||||||
|
license = licenses.free;
|
||||||
|
};
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -20,7 +20,14 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
base16Scheme = mkOption {
|
base16Scheme = mkOption {
|
||||||
type = types.str;
|
type = with lib.types;
|
||||||
|
oneOf [
|
||||||
|
path
|
||||||
|
lines
|
||||||
|
attrs
|
||||||
|
];
|
||||||
|
|
||||||
|
default = config.stylix.generated.palette;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,9 @@
|
||||||
};
|
};
|
||||||
theme.stylix = {
|
theme.stylix = {
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-medium.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-material-dark-medium.yaml";
|
||||||
wallpapers = ./wallpapers.jpg;
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
|
||||||
useLutgen = false;
|
wallpapers = ../wallpaper.png;
|
||||||
|
useLutgen = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -6,7 +6,7 @@
|
||||||
}: {
|
}: {
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
kernelModules = [];
|
kernelModules = ["i2c-dev" "ddcci_backlight"];
|
||||||
extraModulePackages = with config.boot.kernelPackages; [
|
extraModulePackages = with config.boot.kernelPackages; [
|
||||||
amneziawg
|
amneziawg
|
||||||
];
|
];
|
||||||
|
@ -17,5 +17,6 @@
|
||||||
loader.efi.canTouchEfiVariables = true;
|
loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
binfmt.emulatedSystems = ["aarch64-linux"];
|
binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
|
tmp.useTmpfs = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
5
hosts/common/system/udev.nix
Normal file
5
hosts/common/system/udev.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{...}: {
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
|
||||||
|
'';
|
||||||
|
}
|
|
@ -12,7 +12,9 @@
|
||||||
"podman"
|
"podman"
|
||||||
"adbusers"
|
"adbusers"
|
||||||
"kvm"
|
"kvm"
|
||||||
|
"i2c"
|
||||||
];
|
];
|
||||||
|
uid = 1000;
|
||||||
subGidRanges = [
|
subGidRanges = [
|
||||||
{
|
{
|
||||||
count = 65536;
|
count = 65536;
|
||||||
|
@ -25,7 +27,6 @@
|
||||||
startUid = 100000;
|
startUid = 100000;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
packages = [];
|
|
||||||
useDefaultShell = true;
|
useDefaultShell = true;
|
||||||
openssh.authorizedKeys = {
|
openssh.authorizedKeys = {
|
||||||
keys = [
|
keys = [
|
||||||
|
@ -35,5 +36,9 @@
|
||||||
};
|
};
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish;
|
||||||
};
|
};
|
||||||
|
groups = {
|
||||||
|
adbusers = {};
|
||||||
|
i2c = {};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
3
hosts/earth/services/libvirtd.nix
Normal file
3
hosts/earth/services/libvirtd.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{...}: {
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
}
|
|
@ -41,6 +41,11 @@
|
||||||
options = ["compress=zstd" "subvol=@Home"];
|
options = ["compress=zstd" "subvol=@Home"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/nfs_share" = {
|
||||||
|
device = "192.168.48.41:/data/nfs_share";
|
||||||
|
fsType = "nfs";
|
||||||
|
};
|
||||||
|
|
||||||
swapDevices = [];
|
swapDevices = [];
|
||||||
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
|
36
overlays/spotx.nix
Normal file
36
overlays/spotx.nix
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
final: prev: let
|
||||||
|
spotx = prev.fetchurl {
|
||||||
|
url = "https://raw.githubusercontent.com/SpotX-Official/SpotX-Bash/21481cea97bac720590c2aad8b1fc2c58c9ec8f9/spotx.sh";
|
||||||
|
hash = "sha256-1k1sEEnT1SE6RAWrfd1qFY1gFrUVNh7zUQJLu3DODlU=";
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
spotify = prev.spotify.overrideAttrs (old: {
|
||||||
|
nativeBuildInputs =
|
||||||
|
old.nativeBuildInputs
|
||||||
|
++ (with prev; [
|
||||||
|
util-linux
|
||||||
|
perl
|
||||||
|
unzip
|
||||||
|
zip
|
||||||
|
curl
|
||||||
|
]);
|
||||||
|
|
||||||
|
unpackPhase =
|
||||||
|
builtins.replaceStrings ["runHook postUnpack"] [
|
||||||
|
''
|
||||||
|
patchShebangs --build ${spotx}
|
||||||
|
runHook postUnpack
|
||||||
|
''
|
||||||
|
]
|
||||||
|
old.unpackPhase;
|
||||||
|
|
||||||
|
installPhase =
|
||||||
|
builtins.replaceStrings ["runHook postInstall"] [
|
||||||
|
''
|
||||||
|
bash ${spotx} -f -P "$out/share/spotify"
|
||||||
|
runHook postInstall
|
||||||
|
''
|
||||||
|
]
|
||||||
|
old.installPhase;
|
||||||
|
});
|
||||||
|
}
|
BIN
wallpaper.png
Normal file
BIN
wallpaper.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 MiB |
BIN
wallpapers.jpg
BIN
wallpapers.jpg
Binary file not shown.
Before Width: | Height: | Size: 1.7 MiB |
Loading…
Reference in a new issue