remove penrose

This commit is contained in:
zoe 2022-10-30 16:42:53 +01:00
parent e83ed58b9a
commit a0e4ab888f
11 changed files with 28 additions and 193 deletions

View File

@ -68,6 +68,9 @@
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# enable xmonad
services.xserver.windowManager.xmonad.enable = true;
# enable penrose
# services.xserver.displayManager.session = [
# {

View File

@ -4,18 +4,29 @@ let
fishCustom = import ./fish/settings.nix;
kittyCustom = import ./kitty/settings.nix;
rofiCustom = import ./rofi/settings.nix;
xmonadCustom = import ./xmonad/settings.nix;
in
{
home-manager.users.zoe = { pkgs, ... }: {
home.packages = with pkgs; [
haskellPackages.haskell-language-server
haskellPackages.hoogle
cabal-install
stack
];
programs.kitty = kittyCustom pkgs;
programs.neovim = nvimCustom pkgs;
programs.fish = fishCustom pkgs;
programs.rofi = rofiCustom pkgs;
xsession.windowManager.xmonad = xmonadCustom pkgs;
programs.git = {
enable = true;
userName = "zoe";
userEmail = "ZoeOosting@outlook.com";
};
programs.mpv.config = {
ytdl-format = "bestvideo[height<=?720]+bestaudio";
ytdl-path = "yt-dlp";

View File

@ -11,7 +11,7 @@
];
fonts.fonts = with pkgs; [
noto-fonts-emoji
noto-fonts
(nerdfonts.override { fonts = [ "CascadiaCode" ]; })
];
}

View File

@ -1,11 +0,0 @@
[package]
name = "penrose-custom"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
penrose="0.2"
log4rs="1"
log = "0.4"

View File

@ -1,10 +0,0 @@
{ pkgs ? import <nixpkgs> { } }:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [ rustc cargo gcc pango cairo pkg-config python311 ];
buildInputs = with pkgs; [ rustfmt clippy ];
# Certain Rust tools won't work without this
# This can also be fixed by using oxalica/rust-overlay and specifying the rust-src extension
# See https://discourse.nixos.org/t/rust-src-not-found-and-other-misadventures-of-developing-rust-on-nixos/11570/3?u=samuela. for more details.
RUST_SRC_PATH = "${pkgs.rust.packages.stable.rustPlatform.rustLibSrc}";
}

View File

@ -1,8 +0,0 @@
use penrose::Config;
pub fn get_config() -> Config {
Config::builder(&Config::default())
.show_bar(false)
.build()
.unwrap()
}

View File

@ -1,78 +0,0 @@
use log::SetLoggerError;
use log4rs::{
append::{
console::{ConsoleAppender, Target},
file::FileAppender,
},
config::{Appender, Config, Root},
encode::pattern::PatternEncoder,
filter::threshold::ThresholdFilter,
};
use std::fs;
pub fn init_log(
log_path: &String,
log_size: f64,
console_level: log::LevelFilter,
file_level: log::LevelFilter,
) -> Result<(), SetLoggerError> {
// if the log file is bigger than log_size in bytes, we replace the log file instead of
// appending to it.
let mut append = true;
match fs::metadata(log_path) {
Ok(log) => {
if log.len() as f64 > log_size * 1048576.0 {
append = false;
}
}
Err(_) => {
append = true;
}
};
// creates configuration for the log file
let log_file = FileAppender::builder()
.encoder(Box::new(PatternEncoder::new(
"{l} {d(%Y-%m-%d %H:%M:%S)} - {m}\n",
)))
.append(append)
.build(log_path)
.unwrap();
// creates configuration for stderr outputs
let stderr = ConsoleAppender::builder()
.target(Target::Stderr)
.encoder(Box::new(PatternEncoder::new(
"{h({l})} {d(%Y-%m-%d %H:%M:%S)} - {m}\n", // pattern is the same as in the log file,
// but slightly more colourful
)))
.build();
// creates the full configuration using log_file and stderr
let config = Config::builder()
.appender(
Appender::builder()
.filter(Box::new(ThresholdFilter::new(file_level)))
.build("log_file", Box::new(log_file)),
)
.appender(
Appender::builder()
.filter(Box::new(ThresholdFilter::new(console_level)))
.build("stderr", Box::new(stderr)),
)
.build(
Root::builder()
.appender("log_file")
.appender("stderr")
.build(log::LevelFilter::Trace),
)
.unwrap();
// initializes config
let _handle = log4rs::init_config(config)?;
// send a lil message announcing that logging has started successfully
info!("Logging has started :)");
Ok(()) //Ok
}

View File

@ -1,78 +0,0 @@
#[macro_use]
extern crate penrose;
#[macro_use]
extern crate log as logmacro;
use penrose::{
core::helpers::index_selectors, logging_error_handler, xcb::new_xcb_backed_window_manager,
Backward, Forward, Less, More, Selector,
};
mod config;
mod logger;
mod screens;
// Replace these with your preferred terminal and program launcher
const TERMINAL: &str = "kitty";
const LAUNCHER: &str =
"rofi -combi-modi window,drun,scripts,ssh, -show-icons -show combi -modi combi";
fn main() -> penrose::Result<()> {
logger::init_log(
//path
&"/home/zoe/.penrose.log".to_string(),
// size in mb
5.0,
// loglevels
log::LevelFilter::Info,
log::LevelFilter::Info,
)
.unwrap();
// Initialise the logger (use LevelFilter::Debug to enable debug logging)
let config = config::get_config();
let key_bindings = gen_keybindings! {
// Program launchers
"M-semicolon" => run_external!(LAUNCHER);
"M-Return" => run_external!(TERMINAL);
// Exit Penrose (important to remember this one!)
"M-A-C-Escape" => run_internal!(exit);
// client management
"M-j" => run_internal!(cycle_client, Forward);
"M-k" => run_internal!(cycle_client, Backward);
"M-S-j" => run_internal!(drag_client, Forward);
"M-S-k" => run_internal!(drag_client, Backward);
"M-f" => run_internal!(toggle_client_fullscreen, &Selector::Focused);
"M-S-q" => run_internal!(kill_client);
// workspace management
"M-Tab" => run_internal!(toggle_workspace);
"M-A-period" => run_internal!(cycle_workspace, Forward);
"M-A-comma" => run_internal!(cycle_workspace, Backward);
// Layout management
"M-grave" => run_internal!(cycle_layout, Forward);
"M-S-grave" => run_internal!(cycle_layout, Backward);
"M-A-Up" => run_internal!(update_max_main, More);
"M-A-Down" => run_internal!(update_max_main, Less);
"M-A-Right" => run_internal!(update_main_ratio, More);
"M-A-Left" => run_internal!(update_main_ratio, Less);
map: { "1", "2", "3", "4", "5", "6", "7", "8", "9" } to index_selectors(9) => {
"M-{}" => focus_workspace (REF);
"M-S-{}" => client_to_workspace (REF);
};
};
let mut wm = match new_xcb_backed_window_manager(config, vec![], logging_error_handler()) {
Err(e) => {
error!("{}", e);
return Err(e);
}
Ok(connection) => connection,
};
wm.grab_keys_and_run(key_bindings, map! {})
}

View File

@ -4,18 +4,13 @@
git pull
# format everything to look nice
nixpkgs-fmt *.nix
nixpkgs-fmt ./nvim/*.nix
nixpkgs-fmt ./penrose/*.nix
nixpkgs-fmt ./fish/*.nix
nixpkgs-fmt ./kitty/*.nix
nixpkgs-fmt ./rofi/*.nix
nixpkgs-fmt *.nix ./*/*.nix
# make a backup just in case
# cp -r /etc/nixos/ ./backup
# copy over all the files to /etc/nixos/
sudo cp -r ./configuration.nix ./rofi ./fish ./kitty ./nvim/ ./packages.nix ./home.nix ./user.nix /etc/nixos/
sudo cp -r ./configuration.nix ./xmonad ./rofi ./fish ./kitty ./nvim/ ./packages.nix ./home.nix ./user.nix /etc/nixos/
# build penrose and copy it to nixos folder
# cd ./penrose

11
xmonad/settings.nix Normal file
View File

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
enable = true;
enableContribAndExtras = true;
extraPackages = haskellPackages: [
haskellPackages.dbus
haskellPackages.List
haskellPackages.monad-logger
haskellPackages.xmonad
];
}