ipizza
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, ... }:
|
||||
{ config, pkgs, master, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
@@ -12,7 +12,9 @@
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.initrd.systemd.enable = 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";
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
@@ -27,7 +29,7 @@
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
@@ -46,9 +48,15 @@
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Enable Plymouth
|
||||
boot.plymouth = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# Enable the GNOME Desktop Environment.
|
||||
services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.displayManager.sddm.wayland.enable = true;
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
@@ -58,7 +66,6 @@
|
||||
};
|
||||
|
||||
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
@@ -88,7 +95,7 @@
|
||||
description = "Joshua Elmasri";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
packages = with pkgs; [
|
||||
firefox
|
||||
vivaldi
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
@@ -96,11 +103,61 @@
|
||||
# Allow unfree packages
|
||||
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:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
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
|
||||
|
||||
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": {
|
||||
"nixpkgs": {
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1705496572,
|
||||
"narHash": "sha256-rPIe9G5EBLXdBdn9ilGc0nq082lzQd0xGGe092R/5QE=",
|
||||
"lastModified": 1705823474,
|
||||
"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",
|
||||
"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"
|
||||
},
|
||||
"original": {
|
||||
@@ -18,6 +54,8 @@
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"master": "master",
|
||||
"nixpkgs": "nixpkgs"
|
||||
}
|
||||
}
|
||||
|
||||
14
flake.nix
14
flake.nix
@@ -3,14 +3,24 @@
|
||||
|
||||
inputs = {
|
||||
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 = {
|
||||
nixos = nixpkgs.lib.nixosSystem {
|
||||
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