ipizza
This commit is contained in:
@@ -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’).
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, master, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
@@ -12,7 +12,9 @@
|
|||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.initrd.systemd.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.kernelParams = ["quiet"];
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-db49c136-7de8-4ab6-8e05-754bab13925d".device = "/dev/disk/by-uuid/db49c136-7de8-4ab6-8e05-754bab13925d";
|
boot.initrd.luks.devices."luks-db49c136-7de8-4ab6-8e05-754bab13925d".device = "/dev/disk/by-uuid/db49c136-7de8-4ab6-8e05-754bab13925d";
|
||||||
networking.hostName = "nixos"; # Define your hostname.
|
networking.hostName = "nixos"; # Define your hostname.
|
||||||
@@ -27,7 +29,7 @@
|
|||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "America/Chicago";
|
time.timeZone = "America/Chicago";
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
@@ -46,9 +48,15 @@
|
|||||||
# Enable the X11 windowing system.
|
# Enable the X11 windowing system.
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Enable Plymouth
|
||||||
|
boot.plymouth = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Enable the GNOME Desktop Environment.
|
# Enable the GNOME Desktop Environment.
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
services.xserver.displayManager.sddm.enable = true;
|
||||||
services.xserver.desktopManager.gnome.enable = true;
|
services.xserver.displayManager.sddm.wayland.enable = true;
|
||||||
|
programs.hyprland.enable = true;
|
||||||
|
|
||||||
# Configure keymap in X11
|
# Configure keymap in X11
|
||||||
services.xserver = {
|
services.xserver = {
|
||||||
@@ -58,7 +66,6 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
# Enable CUPS to print documents.
|
||||||
services.printing.enable = true;
|
services.printing.enable = true;
|
||||||
|
|
||||||
@@ -88,7 +95,7 @@
|
|||||||
description = "Joshua Elmasri";
|
description = "Joshua Elmasri";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
firefox
|
vivaldi
|
||||||
# thunderbird
|
# thunderbird
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -96,11 +103,61 @@
|
|||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
|
||||||
|
# Fonts
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
roboto
|
||||||
|
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
git
|
git
|
||||||
|
rustc
|
||||||
|
gnomeExtensions.tray-icons-reloaded
|
||||||
|
gnomeExtensions.open-bar
|
||||||
|
dunst
|
||||||
|
just
|
||||||
|
steamtinkerlaunch
|
||||||
|
cosmic-icons
|
||||||
|
cosmic-settings
|
||||||
|
cosmic-comp
|
||||||
|
playerctl
|
||||||
|
xdg-desktop-portal
|
||||||
|
cosmic-panel
|
||||||
|
wine
|
||||||
|
bottles
|
||||||
|
cava
|
||||||
|
cosmic-session
|
||||||
|
gnome.gnome-tweaks
|
||||||
|
cosmic-applets
|
||||||
|
cosmic-settings
|
||||||
|
cosmic-icons
|
||||||
|
cosmic-protocols
|
||||||
|
cosmic-design-demo
|
||||||
|
flatpak
|
||||||
|
rofi-wayland
|
||||||
|
xdg-desktop-portal-cosmic
|
||||||
|
cosmic-bg
|
||||||
|
cosmic-osd
|
||||||
|
polkit-kde-agent
|
||||||
|
cosmic-term
|
||||||
|
gradience
|
||||||
|
cosmic-edit
|
||||||
|
cosmic-randr
|
||||||
|
cosmic-files
|
||||||
|
cosmic-greeter
|
||||||
|
cosmic-launcher
|
||||||
|
cosmic-screenshot
|
||||||
|
cosmic-applibrary
|
||||||
|
cosmic-notifications
|
||||||
|
cosmic-settings-daemon
|
||||||
|
cosmic-workspaces-epoch
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enable Steam
|
# Enable Steam
|
||||||
|
|||||||
1589
cosmic-session/Cargo.lock
generated
Normal file
1589
cosmic-session/Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
72
cosmic-session/package.nix
Normal file
72
cosmic-session/package.nix
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitHub,
|
||||||
|
bash,
|
||||||
|
rustPlatform,
|
||||||
|
just,
|
||||||
|
dbus,
|
||||||
|
rust,
|
||||||
|
stdenv,
|
||||||
|
xdg-desktop-portal-cosmic,
|
||||||
|
}:
|
||||||
|
rustPlatform.buildRustPackage rec {
|
||||||
|
pname = "cosmic-session";
|
||||||
|
version = "0-unstable-2024-01-17";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "pop-os";
|
||||||
|
repo = pname;
|
||||||
|
rev = "8e73c0f6940288c4a24a102a7ba9f20eb6bd754f";
|
||||||
|
sha256 = "sha256-plglQ9i+kcG70v9ElCzwNMhO1xcuEAQiO0DeZfRjbcg=";
|
||||||
|
};
|
||||||
|
|
||||||
|
cargoLock = {
|
||||||
|
lockFile = ./Cargo.lock;
|
||||||
|
outputHashes = {
|
||||||
|
"cosmic-notifications-util-0.1.0" = "sha256-GmTT7SFBqReBMe4GcNSym1YhsKtFQ/0hrDcwUqXkaBw=";
|
||||||
|
"launch-pad-0.1.0" = "sha256-tnbSJ/GP9GTnLnikJmvb9XrJSgnUnWjadABHF43L1zc=";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace Justfile \
|
||||||
|
--replace '#!/usr/bin/env' "#!$(command -v env)" \
|
||||||
|
--replace 'target/release/cosmic-session' "target/${
|
||||||
|
rust.lib.toRustTargetSpecShort stdenv.hostPlatform
|
||||||
|
}/release/cosmic-session"
|
||||||
|
substituteInPlace data/start-cosmic \
|
||||||
|
--replace '#!/bin/bash' "#!${lib.getBin bash}/bin/bash" \
|
||||||
|
--replace '/usr/bin/cosmic-session' "$out/bin/cosmic-session" \
|
||||||
|
--replace '/usr/bin/dbus-run-session' "${
|
||||||
|
lib.getBin dbus
|
||||||
|
}/bin/dbus-run-session"
|
||||||
|
substituteInPlace data/cosmic.desktop --replace '/usr/bin/start-cosmic' "$out/bin/start-cosmic"
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ just ];
|
||||||
|
|
||||||
|
dontUseJustBuild = true;
|
||||||
|
|
||||||
|
justFlags = [
|
||||||
|
"--set"
|
||||||
|
"prefix"
|
||||||
|
(placeholder "out")
|
||||||
|
"--set"
|
||||||
|
"xdp_cosmic"
|
||||||
|
xdg-desktop-portal-cosmic
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.providedSessions = [ "cosmic" ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/pop-os/cosmic-session";
|
||||||
|
description = "Session manager for the COSMIC desktop environment";
|
||||||
|
license = licenses.gpl3Only;
|
||||||
|
mainProgram = "cosmic-session";
|
||||||
|
maintainers = with maintainers; [
|
||||||
|
a-kenji
|
||||||
|
nyanbinary
|
||||||
|
];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
||||||
46
flake.lock
generated
46
flake.lock
generated
@@ -1,12 +1,48 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"nixpkgs": {
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705496572,
|
"lastModified": 1705823474,
|
||||||
"narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=",
|
"narHash": "sha256-2C4uRe9/U3QwSPC4dYKM1/njgCQk0Mltezy4VcjAqa4=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "928f2528f9ee952ba0a47bbb1ece8d93ed66e784",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"master": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1705865336,
|
||||||
|
"narHash": "sha256-UYGuemCuVicKo9iOgh9y1ZcYL6YxKCqFkqMfFzvH0vM=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "842d9d80cfd4560648c785f8a4e6f3b096790e19",
|
"rev": "71ef6600a9668a897374cbd541390e8429bfcfb3",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1705677747,
|
||||||
|
"narHash": "sha256-eyM3okYtMgYDgmYukoUzrmuoY4xl4FUujnsv/P6I/zI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "bbe7d8f876fbbe7c959c90ba2ae2852220573261",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -18,6 +54,8 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"master": "master",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
14
flake.nix
14
flake.nix
@@ -3,14 +3,24 @@
|
|||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
master.url = "github:NixOS/nixpkgs/master";
|
||||||
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs }@inputs:
|
outputs = { self, nixpkgs, home-manager, master }@inputs:
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
nixos = nixpkgs.lib.nixosSystem {
|
nixos = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [ ./configuration.nix];
|
specialArgs = {inherit master;};
|
||||||
|
modules = [ ./configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.users.joshuaelm = import ./home.nix;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
38
home.nix
Normal file
38
home.nix
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Home Manager needs a bit of information about you and the
|
||||||
|
# paths it should manage.
|
||||||
|
home.username = "joshuaelm";
|
||||||
|
home.homeDirectory = "/home/joshuaelm";
|
||||||
|
|
||||||
|
|
||||||
|
home.packages = [
|
||||||
|
pkgs.element-desktop
|
||||||
|
pkgs.waybar
|
||||||
|
pkgs.signal-desktop
|
||||||
|
pkgs.swaybg
|
||||||
|
pkgs.kitty
|
||||||
|
pkgs.supersonic-wayland
|
||||||
|
pkgs.adw-gtk3
|
||||||
|
];
|
||||||
|
|
||||||
|
services.mpd-mpris.enable = true;
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# This value determines the Home Manager release that your
|
||||||
|
# configuration is compatible with. This helps avoid breakage
|
||||||
|
# when a new Home Manager release introduces backwards
|
||||||
|
# incompatible changes.
|
||||||
|
#
|
||||||
|
# You can update Home Manager without changing this value. See
|
||||||
|
# the Home Manager release notes for a list of state version
|
||||||
|
# changes in each release.
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user