Compare commits

..

12 Commits

Author SHA1 Message Date
4640c8723b Add /etc/nixos as a safe git directory 2024-08-20 10:14:24 -07:00
03b6b26489 Add nix-book specific config 2024-08-20 10:14:13 -07:00
04a444ffd4 Rm home.nix symlink 2024-08-20 10:13:56 -07:00
474515dc4d Add killall 2024-08-20 09:59:55 -07:00
8bf130f641 Don't scale XWayland 2024-08-18 13:57:21 -07:00
a340ce7e43 Add nextcloud-talk-desktop package
Grabbed from this PR but modified so that it will actually work:
https://github.com/NixOS/nixpkgs/pull/302781
2024-08-18 13:49:11 -07:00
b449a56b0b Create device-specific hyprland config 2024-08-18 13:46:37 -07:00
d71b7e6976 Update doom-config 2024-08-16 12:31:51 -07:00
3ca4b62193 Switch to flakes 2024-08-16 12:25:00 -07:00
478d665c34 Merge branch 'hyprland' 2024-08-16 09:57:45 -07:00
bddff2d815 Fix emacs scoping 2024-08-02 16:59:48 -07:00
e5866f201d Install configured emacs package 2024-07-30 15:42:21 -07:00
11 changed files with 197 additions and 3 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
result
home.nix

48
flake.lock generated Normal file
View File

@@ -0,0 +1,48 @@
{
"nodes": {
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1723399884,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1723637854,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

29
flake.nix Normal file
View File

@@ -0,0 +1,29 @@
{
description = "Home Manager configuration of johno";
inputs = {
# Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
homeConfigurations."johno" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [ ./home.nix ];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
};
};
}

View File

@@ -1,6 +1,9 @@
{ config, pkgs, lib, ... }:
with import <nixpkgs> {};
let
nextcloudTalkDesktop = pkgs.callPackage ./modules/applications/nextcloud-talk-desktop/package.nix {};
in
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
@@ -45,6 +48,7 @@ with import <nixpkgs> {};
pkgs.htop
pkgs.jellyfin-media-player
pkgs.keepassxc
pkgs.killall
pkgs.kitty
pkgs.less
pkgs.ncdu
@@ -56,6 +60,8 @@ with import <nixpkgs> {};
pkgs.waybar
pkgs.wofi
pkgs.vlc
nextcloudTalkDesktop
];
# Home Manager is pretty good at managing dotfiles. The primary way to manage
@@ -125,6 +131,9 @@ with import <nixpkgs> {};
enable = true;
userName = "John Ogle";
userEmail = "john@ogle.fyi";
extraConfig = {
safe.directory = "/etc/nixos";
};
};
programs.gpg.enable = true;

8
home-nix-book.nix Normal file
View File

@@ -0,0 +1,8 @@
{ config, lib, pkgs, ... }:
{
imports = [
./home-default.nix
./modules/window_managers/hyprland/nix-book.nix
];
}

8
home-z790prors.nix Normal file
View File

@@ -0,0 +1,8 @@
{ config, lib, pkgs, ... }:
{
imports = [
./home-default.nix
./modules/window_managers/hyprland/z790prors.nix
];
}

View File

@@ -0,0 +1,79 @@
{ lib
, stdenv
, fetchzip
, autoPatchelfHook
, nss
, cairo
, xorg
, libxkbcommon
, alsa-lib
, at-spi2-core
, mesa
, pango
, libdrm
, vivaldi-ffmpeg-codecs
, gtk3
, libGL
, libglvnd
, systemd
}:
stdenv.mkDerivation (finalAttrs: {
pname = "nextcloud-talk-desktop";
version = "0.29.0";
# Building from source would require building also building Server and Talk components
# See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
src = fetchzip {
url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64-${finalAttrs.version}.zip";
hash = "sha256-fBIeNv8tfrVTFExLQDBPhIazvbsJ7a76+W9G0cuQDlw=";
stripRoot = false;
};
nativeBuildInputs = [ autoPatchelfHook ];
buildInputs = [
nss
cairo
alsa-lib
at-spi2-core
pango
libdrm
libxkbcommon
gtk3
vivaldi-ffmpeg-codecs
mesa
libGL
libglvnd
] ++ (with xorg; [libX11 libXcomposite libXdamage libXrandr libXfixes libXcursor]);
# Required to launch the application and proceed past the zygote_linux fork() process
# Fixes `Zygote could not fork`
runtimeDependencies = [ systemd ];
preInstall = ''
mkdir -p $out/bin
mkdir -p $out/opt
cp -r $src/* $out/opt/
'';
installPhase = ''
runHook preInstall
# Link the application in $out/bin away from contents of `preInstall`
ln -s "$out/opt/Nextcloud Talk-linux-x64/Nextcloud Talk" $out/bin/${finalAttrs.pname}
runHook postInstall
'';
meta = with lib; {
description = "Nextcloud Talk Desktop Client Preview";
homepage = "https://github.com/nextcloud/talk-desktop";
changelog = "https://github.com/nextcloud/talk-desktop/blob/${finalAttrs.version}/CHANGELOG.md";
license = licenses.agpl3Only;
maintainers = with maintainers; [ kashw2 ];
mainProgram = finalAttrs.pname;
};
})

View File

@@ -9,8 +9,6 @@
wayland.windowManager.hyprland = {
enable = true;
settings = {
monitor = ",preferred,auto,1.5";
"$mod" = "SUPER";
"$terminal" = "kitty";
"$fileManager" = "dolphin";
@@ -26,6 +24,10 @@
"HYPRCURSOR_SIZE,24"
];
xwayland = {
force_zero_scaling = true;
};
input = {
kb_layout = "us";
kb_options = "caps:escape";

View File

@@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
wayland.windowManager.hyprland.settings.monitor = ",preferred,2880x1800@90.00Hz,1.33333";
}

View File

@@ -0,0 +1,5 @@
{ config, lib, pkgs, ... }:
{
wayland.windowManager.hyprland.settings.monitor = ",preferred,3440x1440@164.90Hz,1.33333";
}