This commit is contained in:
death916 2025-05-14 08:02:03 -07:00
parent af81a55447
commit feb477f1c9
4 changed files with 66 additions and 76 deletions

23
flake.lock generated
View file

@ -96,7 +96,8 @@
"inputs": {
"home-manager": "home-manager",
"nixos-cosmic": "nixos-cosmic",
"nixpkgs": "nixpkgs"
"nixpkgs": "nixpkgs",
"rust-overlay": "rust-overlay_2"
}
},
"rust-overlay": {
@ -119,6 +120,26 @@
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1747190175,
"narHash": "sha256-s33mQ2s5L/2nyllhRTywgECNZyCqyF4MJeM3vG/GaRo=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "58160be7abad81f6f8cb53120d5b88c16e01c06d",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
}
},
"root": "root",

View file

@ -25,7 +25,7 @@
};
};
outputs = inputs@{ nixpkgs, home-manager, nixos-cosmic, rust-overlay, ... }:
outputs = inputs@{ self, nixpkgs, home-manager, nixos-cosmic, rust-overlay, ... }:
let
# Common arguments to pass to all system configurations
commonSpecialArgs = {

View file

@ -8,11 +8,10 @@
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
# Remove this line - overlays are now handled in flake.nix
# ../overlays/halloy-overlay.nix
];
nixpkgs.overlays = [
(import ../overlays/halloy-overlay.nix)
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
@ -32,7 +31,6 @@
extraGroups = ["wheel" "networkmanager" ];
};
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
@ -48,11 +46,10 @@
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = false;
services.xserver.desktopManager.gnome.enable = false;
#cosmi instead
#cosmic instead
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
@ -74,16 +71,7 @@
# Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
# users.users.alice = {
# isNormalUser = true;
# extraGroups = [ "wheel" ]; # Enable sudo for the user.
# packages = with pkgs; [
# tree
# ];
# };
# my settings
# my settings
nix.settings.experimental-features = ["nix-command" "flakes"];
environment.systemPackages = with pkgs; [
# Flakes clones its dependencies through the git command,
@ -92,13 +80,15 @@
vim
wget
tailscale
halloy # Add halloy to your system packages
];
# to make exit nodes work
networking.firewall.checkReversePath = "loose";
hardware.bluetooth.enable = true;
# hardware.blueman.enable = true;
# hardware.bluetooth.package - pkgs.bluezFull;
# hardware.blueman.enable = true;
# hardware.bluetooth.package - pkgs.bluezFull;
hardware.bluetooth.powerOnBoot = true;
# my additions
@ -108,57 +98,7 @@
# Other Tailscale options...
};
programs.firefox.enable = true;
# services.desktopManager.cosmic.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
# environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
# ];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
#
# Most users should NEVER change this value after the initial install, for any reason,
# even if you've upgraded your system to a new NixOS release.
#
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
# to actually do that.
#
# This value being lower than the current NixOS release does NOT mean your system is
# out of date, out of support, or vulnerable.
#
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
# and migrated your data accordingly.
#
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -10,20 +10,50 @@ self: super: {
sha256 = "sha256-cG/B6oiRkyoC5fK7bLdCDQYZymfMZspWXvOkqpwHRPk=";
};
# Use nightly Rust from rust-overlay
# Enable unstable features
RUSTC_BOOTSTRAP = 1;
# Use the nightly Rust toolchain
nativeBuildInputs = with super; [
pkg-config
(rust-bin.nightly.latest.default.override {
(super.rust-bin.nightly.latest.default.override {
extensions = [ "rust-src" ];
})
];
# Add patch to enable edition2024
# Patch all Cargo.toml files to add cargo-features
postPatch = ''
# Add cargo-features to main Cargo.toml
sed -i '1i cargo-features = ["edition2024"]' Cargo.toml
# Create a patch for the dependencies
mkdir -p .cargo
cat > .cargo/config.toml << EOF
[unstable]
edition2024 = true
EOF
'';
# Patch for cryoglyph dependency
cargoPatches = [
(super.writeTextFile {
name = "add-cargo-features-patch";
destination = "/cargo-features-patch";
text = ''
diff --git a/Cargo.toml b/Cargo.toml
index 1111111..2222222 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -0,0 +1 @@
+cargo-features = ["edition2024"]
'';
})
];
# Apply patch to dependencies during build
preBuild = ''
export RUSTFLAGS="-Z allow-features=edition2024"
'';
cargoLock = {
@ -36,7 +66,6 @@ self: super: {
"cryoglyph-0.1.0" = "sha256-X7S9jq8wU6g1DDNEzOtP3lKWugDnpopPDBK49iWvD4o=";
"dark-light-2.0.0" = "sha256-e826vF7iSkGUqv65TXHBUX04Kz2aaJJEW9f7JsAMaXE=";
"iced-0.14.0-dev" = "sha256-FEGk1zkXM9o+fGMoDtmi621G6pL+Yca9owJz4q2Lzks=";
"dpi-0.1.1" = "";
};
};